130
# multi-update & multi-delete with derived tables
133
`N` int NOT NULL default '0',
136
INSERT INTO `t1` (N, M) VALUES (1, 0),(1, 0),(1, 0),(2, 0),(2, 0),(3, 0);
137
UPDATE `t1` AS P1 INNER JOIN (SELECT N FROM `t1` GROUP BY N HAVING Count(M) > 1) AS P2 ON P1.N = P2.N SET P1.M = 2;
139
# TODO: Bug lp:311109
140
#UPDATE `t1` AS P1 INNER JOIN (SELECT N FROM `t1` GROUP BY N HAVING Count(M) > 1) AS P2 ON P1.N = P2.N SET P1.M = 2, P2.N = 2;
141
UPDATE `t1` AS P1 INNER JOIN (SELECT aaaa FROM `t1` GROUP BY N HAVING Count(M) > 1) AS P2 ON P1.N = P2.N SET P1.M = 2;
142
delete P1.* from `t1` AS P1 INNER JOIN (SELECT N FROM `t1` GROUP BY N HAVING Count(M) > 1) AS P2 ON P1.N = P2.N;
144
--replace_result P2 p2
145
# TODO: Bug lp:311111
146
#--error ER_NON_UPDATABLE_TABLE
147
#delete P1.*,P2.* from `t1` AS P1 INNER JOIN (SELECT N FROM `t1` GROUP BY N HAVING Count(M) > 1) AS P2 ON P1.N = P2.N;
148
delete P1.* from `t1` AS P1 INNER JOIN (SELECT aaa FROM `t1` GROUP BY N HAVING Count(M) > 1) AS P2 ON P1.N = P2.N;
152
130
# correct lex->current_select
132
CREATE TEMPORARY TABLE t1 (
155
133
OBJECTID int NOT NULL default 0,
156
134
SORTORDER int NOT NULL auto_increment,
157
135
KEY t1_SortIndex (SORTORDER),
158
136
KEY t1_IdIndex (OBJECTID)
138
CREATE TEMPORARY TABLE t2 (
161
139
ID int default NULL,
162
140
PARID int default NULL,
163
141
UNIQUE KEY t2_ID_IDX (ID),
164
142
KEY t2_PARID_IDX (PARID)
166
144
INSERT INTO t2 VALUES (1000,0),(1001,0),(1002,0),(1003,0),(1008,1),(1009,1),(1010,1),(1011,1),(1016,2);
145
CREATE TEMPORARY TABLE t3 (
168
146
ID int default NULL,
169
147
DATA decimal(10,2) default NULL,
170
148
UNIQUE KEY t3_ID_IDX (ID)