rpl_user_variables.result
来自「视频监控网络部分的协议ddns,的模块的实现代码,请大家大胆指正.」· RESULT 代码 · 共 322 行
RESULT
322 行
stop slave;drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;reset master;reset slave;drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;start slave;reset master;create table t1(n char(30));set @i1:=12345678901234, @i2:=-12345678901234, @i3:=0, @i4:=-1;set @s1:='This is a test', @r1:=12.5, @r2:=-12.5;set @n1:=null;set @s2:='', @s3:='abc\'def', @s4:= 'abc\\def', @s5:= 'abc''def';insert into t1 values (@i1), (@i2), (@i3), (@i4);insert into t1 values (@r1), (@r2);insert into t1 values (@s1), (@s2), (@s3), (@s4), (@s5);insert into t1 values (@n1);insert into t1 values (@n2);insert into t1 values (@a:=0), (@a:=@a+1), (@a:=@a+1);insert into t1 values (@a+(@b:=@a+1));set @q:='abc';insert t1 values (@q), (@q:=concat(@q, 'n1')), (@q:=concat(@q, 'n2'));set @a:=5;insert into t1 values (@a),(@a);insert into t1 values (@a),(@a),(@a*5);select * from t1;n12345678901234-123456789012340-112.5-12.5This is a testabc'defabc\defabc'defNULLNULL0125abcabcn1abcn1n255NULLNULLNULLselect * from t1;n12345678901234-123456789012340-112.5-12.5This is a testabc'defabc\defabc'defNULLNULL0125abcabcn1abcn1n255NULLNULLNULLshow binlog events from 98;Log_name Pos Event_type Server_id End_log_pos Infoslave-bin.000001 # Query 1 # use `test`; create table t1(n char(30))slave-bin.000001 # User var 2 # @`i1`=12345678901234slave-bin.000001 # User var 2 # @`i2`=-12345678901234slave-bin.000001 # User var 2 # @`i3`=0slave-bin.000001 # User var 2 # @`i4`=-1slave-bin.000001 # Query 1 # use `test`; insert into t1 values (@i1), (@i2), (@i3), (@i4)slave-bin.000001 # User var 2 # @`r1`=12.5slave-bin.000001 # User var 2 # @`r2`=-12.5slave-bin.000001 # Query 1 # use `test`; insert into t1 values (@r1), (@r2)slave-bin.000001 # User var 2 # @`s1`=_latin1 0x5468697320697320612074657374 COLLATE latin1_swedish_cislave-bin.000001 # User var 2 # @`s2`=_latin1 "" COLLATE latin1_swedish_cislave-bin.000001 # User var 2 # @`s3`=_latin1 0x61626327646566 COLLATE latin1_swedish_cislave-bin.000001 # User var 2 # @`s4`=_latin1 0x6162635C646566 COLLATE latin1_swedish_cislave-bin.000001 # User var 2 # @`s5`=_latin1 0x61626327646566 COLLATE latin1_swedish_cislave-bin.000001 # Query 1 # use `test`; insert into t1 values (@s1), (@s2), (@s3), (@s4), (@s5)slave-bin.000001 # User var 2 # @`n1`=NULLslave-bin.000001 # Query 1 # use `test`; insert into t1 values (@n1)slave-bin.000001 # User var 2 # @`n2`=NULLslave-bin.000001 # Query 1 # use `test`; insert into t1 values (@n2)slave-bin.000001 # Query 1 # use `test`; insert into t1 values (@a:=0), (@a:=@a+1), (@a:=@a+1)slave-bin.000001 # User var 2 # @`a`=2slave-bin.000001 # Query 1 # use `test`; insert into t1 values (@a+(@b:=@a+1))slave-bin.000001 # User var 2 # @`q`=_latin1 0x616263 COLLATE latin1_swedish_cislave-bin.000001 # Query 1 # use `test`; insert t1 values (@q), (@q:=concat(@q, 'n1')), (@q:=concat(@q, 'n2'))slave-bin.000001 # User var 2 # @`a`=5slave-bin.000001 # Query 1 # use `test`; insert into t1 values (@a),(@a)slave-bin.000001 # User var 2 # @`a`=NULLslave-bin.000001 # Query 1 # use `test`; insert into t1 values (@a),(@a),(@a*5)insert into t1 select * FROM (select @var1 union select @var2) AS t2;drop table t1;End of 4.1 tests.DROP TABLE IF EXISTS t20;DROP TABLE IF EXISTS t21;DROP PROCEDURE IF EXISTS test.insert;CREATE TABLE t20 (a VARCHAR(20));CREATE TABLE t21 (a VARCHAR(20));CREATE PROCEDURE test.insert()BEGINIF (@VAR)THENINSERT INTO test.t20 VALUES ('SP_TRUE');ELSEINSERT INTO test.t20 VALUES ('SP_FALSE');END IF;END|CREATE TRIGGER test.insert_bi BEFORE INSERTON test.t20 FOR EACH ROWBEGINIF (@VAR)THENINSERT INTO test.t21 VALUES ('TRIG_TRUE');ELSEINSERT INTO test.t21 VALUES ('TRIG_FALSE');END IF;END|SET @VAR=0;CALL test.insert();SET @VAR=1;CALL test.insert();On master: Check the tables for correct dataSELECT * FROM t20;aSP_FALSESP_TRUESELECT * FROM t21;aTRIG_FALSETRIG_TRUEOn slave: Check the tables for correct data and it matches masterSELECT * FROM t20;aSP_FALSESP_TRUESELECT * FROM t21;aTRIG_FALSETRIG_TRUEDROP TABLE t20;DROP TABLE t21;DROP PROCEDURE test.insert;DROP TABLE IF EXISTS t1;DROP FUNCTION IF EXISTS test.square;CREATE TABLE t1 (i INT);CREATE FUNCTION test.square() RETURNS INTEGER DETERMINISTIC RETURN (@var * @var);SET @var = 1;INSERT INTO t1 VALUES (square());SET @var = 2;INSERT INTO t1 VALUES (square());SET @var = 3;INSERT INTO t1 VALUES (square());SET @var = 4;INSERT INTO t1 VALUES (square());SET @var = 5;INSERT INTO t1 VALUES (square());On master: Retrieve the values from the tableSELECT * FROM t1;i1491625On slave: Retrieve the values from the table and verify they are the same as on masterSELECT * FROM t1;i1491625DROP TABLE t1;DROP FUNCTION test.square;DROP TABLE IF EXISTS t1;DROP FUNCTION IF EXISTS f1;DROP FUNCTION IF EXISTS f2;CREATE TABLE t1(a int);CREATE FUNCTION f1() returns int deterministicBEGINreturn @a;END |CREATE FUNCTION f2() returns int deterministicBEGINIF (@b > 0) thenSET @c = (@a + @b);elseSET @c = (@a - 1);END if;return @c;END |SET @a=500;INSERT INTO t1 values(f1());SET @b = 125;SET @c = 1;INSERT INTO t1 values(f2());On master: Retrieve the values from the tableSELECT * from t1;a500625On slave: Check the tables for correct data and it matches masterSELECT * from t1;a500625DROP TABLE t1;DROP FUNCTION f1;DROP FUNCTION f2;DROP TABLE IF EXISTS t1;DROP TABLE IF EXISTS t2;CREATE TABLE t1 (i int);CREATE TABLE t2 (k int);CREATE trigger t1_bi before INSERT on t1 for each rowBEGININSERT INTO t2 values (@a);SET @a:=42;INSERT INTO t2 values (@a);END |SET @a:=100;INSERT INTO t1 values (5);On master: Check to see that data was inserted correctly in both tablesSELECT * from t1;i5SELECT * from t2;k10042On slave: Check the tables for correct data and it matches masterSELECT * from t1;i5SELECT * from t2;k10042drop table t1, t2;reset master;create table t1 (a int);prepare s from "insert into t1 values (@a),(?)";set @a=98;execute s using @a;prepare s from "insert into t1 values (?)";set @a=99;execute s using @a;prepare s from "insert into t1 select 100 limit ?";set @a=100;execute s using @a;show binlog events from 98;Log_name Pos Event_type Server_id End_log_pos Infoslave-bin.000001 98 Query 1 184 use `test`; create table t1 (a int)slave-bin.000001 184 User var 2 226 @`a`=98slave-bin.000001 226 Query 1 320 use `test`; insert into t1 values (@a),(98)slave-bin.000001 320 Query 1 409 use `test`; insert into t1 values (99)slave-bin.000001 409 Query 1 507 use `test`; insert into t1 select 100 limit 100select * from t1;a989899100drop table t1;create table t1(a int, b int);prepare s1 from 'insert into t1 values (@x:=@x+1, ?)';set @x=1;execute s1 using @x;select * from t1;a b2 1select * from t1;a b2 1drop table t1;End of 5.0 tests.DROP FUNCTION IF EXISTS f1;DROP FUNCTION IF EXISTS f2;CREATE TABLE t1 (i INT);CREATE FUNCTION f1() RETURNS INT RETURN @a;CREATE FUNCTION f2() RETURNS INTBEGININSERT INTO t1 VALUES (10 + @a);RETURN 0;END|SET @a:=123;SELECT f1(), f2();f1() f2()123 0On master: Check to see that data was inserted correctly INSERT INTO t1 VALUES(f1());SELECT * FROM t1;i133123On slave: Check the table for correct data and it matches masterSELECT * FROM t1;i133123DROP FUNCTION f1;DROP FUNCTION f2;DROP TABLE t1;stop slave;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?