📄 rpl_multi_update3.result
字号:
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;-------- Test for BUG#9361 --------CREATE TABLE t1 (a int unsigned not null auto_increment primary key,b int unsigned) ENGINE=MyISAM;CREATE TABLE t2 (a int unsigned not null auto_increment primary key,b int unsigned) ENGINE=MyISAM;INSERT INTO t1 VALUES (NULL, 0);INSERT INTO t1 SELECT NULL, 0 FROM t1;INSERT INTO t2 VALUES (NULL, 0), (NULL,1);SELECT * FROM t1 ORDER BY a;a b1 02 0SELECT * FROM t2 ORDER BY a;a b1 02 1UPDATE t2, (SELECT a FROM t1) AS t SET t2.b = t.a+5 ;SELECT * FROM t1 ORDER BY a;a b1 02 0SELECT * FROM t2 ORDER BY a;a b1 62 6SELECT * FROM t1 ORDER BY a;a b1 02 0SELECT * FROM t2 ORDER BY a;a b1 62 6drop table t1,t2;-------- Test 1 for BUG#9361 --------DROP TABLE IF EXISTS t1;DROP TABLE IF EXISTS t2;CREATE TABLE t1 (a1 char(30),a2 int,a3 int,a4 char(30),a5 char(30));CREATE TABLE t2 (b1 int,b2 char(30));INSERT INTO t1 VALUES ('Yes', 1, NULL, 'foo', 'bar');INSERT INTO t2 VALUES (1, 'baz');UPDATE t1 a, t2 SET a.a1 = 'No' WHERE a.a2 = (SELECT b1 FROM t2 WHERE b2 = 'baz') AND a.a3 IS NULL AND a.a4 = 'foo' AND a.a5 = 'bar';SELECT * FROM t1;a1 a2 a3 a4 a5No 1 NULL foo barSELECT * FROM t2;b1 b21 bazDROP TABLE t1, t2;-------- Test 2 for BUG#9361 --------DROP TABLE IF EXISTS t1;DROP TABLE IF EXISTS t2;DROP TABLE IF EXISTS t3;CREATE TABLE t1 (i INT,j INT,x INT,y INT,z INT);CREATE TABLE t2 (i INT,k INT,x INT,y INT,z INT);CREATE TABLE t3 (j INT,k INT,x INT,y INT,z INT);INSERT INTO t1 VALUES ( 1, 2,13,14,15);INSERT INTO t2 VALUES ( 1, 3,23,24,25);INSERT INTO t3 VALUES ( 2, 3, 1,34,35), ( 2, 3, 1,34,36);UPDATE t1 AS a INNER JOIN t2 AS b ON a.i = b.iINNER JOIN t3 AS c ON a.j = c.j AND b.k = c.kSET a.x = b.x, a.y = b.y, a.z = (SELECT sum(z) FROM t3WHERE y = 34 ) WHERE b.x = 23;SELECT * FROM t1;i j x y z1 2 23 24 71DROP TABLE t1, t2, t3;DROP TABLE IF EXISTS t1;Warnings:Note 1051 Unknown table 't1'DROP TABLE IF EXISTS t2;Warnings:Note 1051 Unknown table 't2'CREATE TABLE t1 (idp int(11) NOT NULL default '0',idpro int(11) default NULL,price decimal(19,4) default NULL,PRIMARY KEY (idp));CREATE TABLE t2 (idpro int(11) NOT NULL default '0',price decimal(19,4) default NULL,nbprice int(11) default NULL,PRIMARY KEY (idpro));INSERT INTO t1 VALUES (1,1,'3.0000'),(2,2,'1.0000'),(3,1,'1.0000'),(4,1,'4.0000'),(5,3,'2.0000'),(6,2,'4.0000');INSERT INTO t2 VALUES (1,'0.0000',0),(2,'0.0000',0),(3,'0.0000',0);update t2join ( select idpro, min(price) as min_price, count(*) as nbr_pricefrom t1 where idpro>0 and price>0 group by idpro) as table_priceon t2.idpro = table_price.idpro set t2.price = table_price.min_price, t2.nbprice = table_price.nbr_price;select "-- MASTER AFTER JOIN --" as "";-- MASTER AFTER JOIN --select * from t1;idp idpro price1 1 3.00002 2 1.00003 1 1.00004 1 4.00005 3 2.00006 2 4.0000select * from t2;idpro price nbprice1 1.0000 32 1.0000 23 2.0000 1select "-- SLAVE AFTER JOIN --" as "";-- SLAVE AFTER JOIN --select * from t1;idp idpro price1 1 3.00002 2 1.00003 1 1.00004 1 4.00005 3 2.00006 2 4.0000select * from t2;idpro price nbprice1 1.0000 32 1.0000 23 2.0000 1drop table t1, t2;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -