mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
fix error messages
fix derived inside subqueries
This commit is contained in:
@ -295,7 +295,7 @@ Warnings:
|
||||
Note 1275 Field or reference 't2.a' of SELECT #2 was resolved in SELECT #1
|
||||
Note 1275 Field or reference 't2.a' of SELECT #3 was resolved in SELECT #1
|
||||
select (select a from t1 where t1.a=t2.a union all select a from t5 where t5.a=t2.a), a from t2;
|
||||
ERROR 21000: Subquery returns more than 1 record
|
||||
ERROR 21000: Subquery returns more than 1 row
|
||||
create table t6 (patient_uq int, clinic_uq int, index i1 (clinic_uq));
|
||||
create table t7( uq int primary key, name char(25));
|
||||
insert into t7 values(1,"Oblastnaia bolnitsa"),(2,"Bolnitsa Krasnogo Kresta");
|
||||
@ -354,7 +354,7 @@ SELECT pseudo FROM t8 WHERE pseudo=(SELECT pseudo FROM t8 WHERE pseudo='joce');
|
||||
pseudo
|
||||
joce
|
||||
SELECT pseudo FROM t8 WHERE pseudo=(SELECT pseudo FROM t8 WHERE pseudo LIKE '%joce%');
|
||||
ERROR 21000: Subquery returns more than 1 record
|
||||
ERROR 21000: Subquery returns more than 1 row
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8;
|
||||
CREATE TABLE `t1` (
|
||||
`topic` mediumint(8) unsigned NOT NULL default '0',
|
||||
@ -384,7 +384,7 @@ SELECT 1 FROM t1 WHERE 1=(SELECT 1 UNION SELECT 1) UNION ALL SELECT 1;
|
||||
1
|
||||
1
|
||||
SELECT 1 FROM t1 WHERE 1=(SELECT 1 UNION ALL SELECT 1) UNION SELECT 1;
|
||||
ERROR 21000: Subquery returns more than 1 record
|
||||
ERROR 21000: Subquery returns more than 1 row
|
||||
EXPLAIN SELECT 1 FROM t1 WHERE 1=(SELECT 1 UNION SELECT 1);
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY t1 index NULL topic 3 NULL 2 Using index
|
||||
@ -471,9 +471,9 @@ UNIQUE KEY `maxnumrep` (`maxnumrep`)
|
||||
) TYPE=MyISAM ROW_FORMAT=FIXED;
|
||||
INSERT INTO t1 (numeropost,maxnumrep) VALUES (1,0),(2,1);
|
||||
select numeropost as a FROM t1 GROUP BY (SELECT 1 FROM t1 HAVING a=1);
|
||||
ERROR 21000: Subquery returns more than 1 record
|
||||
ERROR 21000: Subquery returns more than 1 row
|
||||
select numeropost as a FROM t1 ORDER BY (SELECT 1 FROM t1 HAVING a=1);
|
||||
ERROR 21000: Subquery returns more than 1 record
|
||||
ERROR 21000: Subquery returns more than 1 row
|
||||
drop table t1;
|
||||
create table t1 (a int);
|
||||
insert into t1 values (1),(2),(3);
|
||||
@ -486,7 +486,7 @@ drop table t1;
|
||||
CREATE TABLE t1 (field char(1) NOT NULL DEFAULT 'b');
|
||||
INSERT INTO t1 VALUES ();
|
||||
SELECT field FROM t1 WHERE 1=(SELECT 1 UNION ALL SELECT 1 FROM (SELECT 1) a HAVING field='b');
|
||||
ERROR 21000: Subquery returns more than 1 record
|
||||
ERROR 21000: Subquery returns more than 1 row
|
||||
drop table t1;
|
||||
CREATE TABLE `t1` (
|
||||
`numeropost` mediumint(8) unsigned NOT NULL default '0',
|
||||
@ -504,7 +504,7 @@ SELECT numreponse, (SELECT numeropost FROM t1 HAVING numreponse=1) FROM (SELECT
|
||||
numreponse (SELECT numeropost FROM t1 HAVING numreponse=1)
|
||||
INSERT INTO t1 (numeropost,numreponse,pseudo) VALUES (1,1,'joce'),(1,2,'joce'),(1,3,'test');
|
||||
EXPLAIN SELECT numreponse FROM t1 WHERE numeropost='1' AND numreponse=(SELECT 1 FROM t1 WHERE numeropost='1');
|
||||
ERROR 21000: Subquery returns more than 1 record
|
||||
ERROR 21000: Subquery returns more than 1 row
|
||||
EXPLAIN SELECT MAX(numreponse) FROM t1 WHERE numeropost='1';
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Select tables optimized away
|
||||
@ -531,7 +531,7 @@ a b
|
||||
update t1 set b= (select b from t1);
|
||||
ERROR HY000: You can't specify target table 't1' for update in FROM clause
|
||||
update t1 set b= (select b from t2);
|
||||
ERROR 21000: Subquery returns more than 1 record
|
||||
ERROR 21000: Subquery returns more than 1 row
|
||||
update t1 set b= (select b from t2 where t1.a = t2.a);
|
||||
select * from t1;
|
||||
a b
|
||||
@ -554,7 +554,7 @@ a b
|
||||
delete from t1 where b = (select b from t1);
|
||||
ERROR HY000: You can't specify target table 't1' for update in FROM clause
|
||||
delete from t1 where b = (select b from t2);
|
||||
ERROR 21000: Subquery returns more than 1 record
|
||||
ERROR 21000: Subquery returns more than 1 row
|
||||
delete from t1 where b = (select b from t2 where t1.a = t2.a);
|
||||
select * from t1;
|
||||
a b
|
||||
@ -580,7 +580,7 @@ a b
|
||||
delete t11.*, t12.* from t11,t12 where t11.a = t12.a and t11.b = (select b from t12 where t11.a = t12.a);
|
||||
ERROR HY000: You can't specify target table 't12' for update in FROM clause
|
||||
delete t11.*, t12.* from t11,t12 where t11.a = t12.a and t11.b = (select b from t2);
|
||||
ERROR 21000: Subquery returns more than 1 record
|
||||
ERROR 21000: Subquery returns more than 1 row
|
||||
delete t11.*, t12.* from t11,t12 where t11.a = t12.a and t11.b = (select b from t2 where t11.a = t2.a);
|
||||
select * from t11;
|
||||
a b
|
||||
@ -599,7 +599,7 @@ insert into t3 values (1),(2);
|
||||
INSERT INTO t1 (x) VALUES ((SELECT x FROM t1));
|
||||
ERROR HY000: You can't specify target table 't1' for update in FROM clause
|
||||
INSERT INTO t1 (x) VALUES ((SELECT b FROM t3));
|
||||
ERROR 21000: Subquery returns more than 1 record
|
||||
ERROR 21000: Subquery returns more than 1 row
|
||||
INSERT INTO t1 (x) VALUES ((SELECT a FROM t2));
|
||||
select * from t1;
|
||||
x
|
||||
@ -641,7 +641,7 @@ x y
|
||||
replace into t1 (x, y) VALUES ((SELECT x FROM t1), (SELECT a+1 FROM t2));
|
||||
ERROR HY000: You can't specify target table 't1' for update in FROM clause
|
||||
replace into t1 (x, y) VALUES ((SELECT a FROM t3), (SELECT a+1 FROM t2));
|
||||
ERROR 21000: Subquery returns more than 1 record
|
||||
ERROR 21000: Subquery returns more than 1 row
|
||||
replace into t1 (x, y) VALUES ((SELECT a FROM t2), (SELECT a+1 FROM t2));
|
||||
select * from t1;
|
||||
x y
|
||||
@ -712,7 +712,7 @@ id
|
||||
CREATE TABLE t1 (id int(11) default NULL, KEY id (id)) TYPE=MyISAM CHARSET=latin1;
|
||||
INSERT INTO t1 values (1),(1);
|
||||
UPDATE t2 SET id=(SELECT * FROM t1);
|
||||
ERROR 21000: Subquery returns more than 1 record
|
||||
ERROR 21000: Subquery returns more than 1 row
|
||||
drop table t2, t1;
|
||||
create table t1 (a int);
|
||||
insert into t1 values (1),(2),(3);
|
||||
@ -1186,7 +1186,7 @@ insert into t1 values (1,0), (2,0), (3,0);
|
||||
insert into t2 values (1,1), (2,1), (3,1), (2,2);
|
||||
update ignore t1 set b=(select b from t2 where t1.a=t2.a);
|
||||
Warnings:
|
||||
Error 1241 Subquery returns more than 1 record
|
||||
Error 1241 Subquery returns more than 1 row
|
||||
select * from t1;
|
||||
a b
|
||||
1 1
|
||||
|
@ -117,8 +117,8 @@ create table t1 (a int);
|
||||
insert into t1 values (1),(2),(3);
|
||||
-- error 1149
|
||||
update (select * from t1) as t1 set a = 5;
|
||||
-- error 1149
|
||||
-- error 1064
|
||||
delete from (select * from t1);
|
||||
-- error 1149
|
||||
-- error 1064
|
||||
insert into (select * from t1) values (5);
|
||||
drop table t1;
|
||||
|
Reference in New Issue
Block a user