mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
MDEV-32439 INSERT IGNORE on constraints result in ERROR rather than warning
INSERT IGNORE had a pecular undocumented case that when one row was inserted, there was an error rather than a warning. As LOAD DATA IGNORE, UPDATE IGNORE, INSERT IGNORE SELECT, and INSERT IGNORE VALUES (single row, for foreign key violation) all behave the same way with a warning lets keep the behaviour normalized. In compatibility, previously a error was generated, now a warning is generated. This behaviour is now consistent with MySQL-8.0 too.
This commit is contained in:
@ -232,5 +232,33 @@ show create table t1;
|
||||
drop table t1;
|
||||
|
||||
--echo #
|
||||
--echo # End of 10.4 tests
|
||||
--echo # MDEV-32439 INSERT IGNORE VALUES (one row) errors on constraint
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t1 (v1 varchar(10), v2 varchar(10), constraint unequal check (v1 != v2));
|
||||
INSERT IGNORE INTO t1 VALUES (1,1);
|
||||
SHOW WARNINGS;
|
||||
INSERT IGNORE INTO t1 VALUES (1,2),(2,2);
|
||||
SHOW WARNINGS;
|
||||
INSERT IGNORE INTO t1 VALUES (3,3),(4,4);
|
||||
SHOW WARNINGS;
|
||||
SELECT * FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-32439 INSERT IGNORE VALUES (one row) errors on constraint
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t1 (v1 varchar(10), v2 varchar(10), constraint unequal check (v1 != v2));
|
||||
INSERT IGNORE INTO t1 VALUES (1,1);
|
||||
SHOW WARNINGS;
|
||||
INSERT IGNORE INTO t1 VALUES (1,2),(2,2);
|
||||
SHOW WARNINGS;
|
||||
INSERT IGNORE INTO t1 VALUES (3,3),(4,4);
|
||||
SHOW WARNINGS;
|
||||
SELECT * FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # End of 11.4 tests
|
||||
--echo #
|
||||
|
Reference in New Issue
Block a user