1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

BUG#14770 - LOAD DATA INFILE doesn't respect default values for

columns
Fixed confusing warning.

Quoting INSERT section of the manual:
----
Inserting NULL into a column that has been declared NOT NULL. For
multiple-row INSERT statements or INSERT INTO ... SELECT statements, the
column is set to the implicit default value for the column data type. This
is 0 for numeric types, the empty string ('') for string types, and the
"zero" value for date and time types. INSERT INTO ... SELECT statements are
handled the same way as multiple-row inserts because the server does not
examine the result set from the SELECT to see whether it returns a single
row. (For a single-row INSERT, no warning occurs when NULL is inserted into
a NOT NULL column. Instead, the statement fails with an error.)
----
This is also true for LOAD DATA INFILE. For INSERT user can specify
DEFAULT keyword as a value to set column default. There is no similiar
feature available for LOAD DATA INFILE.


mysql-test/r/auto_increment.result:
  Fixed confusing warning.
mysql-test/r/create.result:
  Fixed confusing warning.
mysql-test/r/insert.result:
  Fixed confusing warning.
mysql-test/r/insert_select.result:
  Fixed confusing warning.
mysql-test/r/key.result:
  Fixed confusing warning.
mysql-test/r/null.result:
  Fixed confusing warning.
mysql-test/r/null_key.result:
  Fixed confusing warning.
mysql-test/r/ps_2myisam.result:
  Fixed confusing warning.
mysql-test/r/ps_3innodb.result:
  Fixed confusing warning.
mysql-test/r/ps_4heap.result:
  Fixed confusing warning.
mysql-test/r/ps_5merge.result:
  Fixed confusing warning.
mysql-test/r/ps_6bdb.result:
  Fixed confusing warning.
mysql-test/r/strict.result:
  Fixed confusing warning.
mysql-test/r/view.result:
  Fixed confusing warning.
mysql-test/r/warnings.result:
  Fixed confusing warning.
sql/share/errmsg.txt:
  Fixed confusing warning.
This commit is contained in:
unknown
2006-08-02 17:15:50 +05:00
parent 9accdbe57c
commit a1bd0bd118
16 changed files with 40 additions and 40 deletions

View File

@ -232,7 +232,7 @@ a b
delete from t1 where a=0;
update t1 set a=NULL where b=6;
Warnings:
Warning 1263 Column set to default value; NULL supplied to NOT NULL column 'a' at row 4
Warning 1263 Column was set to data type implicit default; NULL supplied for NOT NULL column 'a' at row 4
update t1 set a=300 where b=7;
SET SQL_MODE='';
insert into t1(a,b)values(NULL,8);
@ -274,7 +274,7 @@ a b
delete from t1 where a=0;
update t1 set a=NULL where b=13;
Warnings:
Warning 1263 Column set to default value; NULL supplied to NOT NULL column 'a' at row 9
Warning 1263 Column was set to data type implicit default; NULL supplied for NOT NULL column 'a' at row 9
update t1 set a=500 where b=14;
select * from t1 order by b;
a b

View File

@ -13,7 +13,7 @@ Warnings:
Note 1050 Table 't1' already exists
insert into t1 values (""),(null);
Warnings:
Warning 1263 Column set to default value; NULL supplied to NOT NULL column 'b' at row 2
Warning 1263 Column was set to data type implicit default; NULL supplied for NOT NULL column 'b' at row 2
select * from t1;
b

View File

@ -63,7 +63,7 @@ insert into t1 values(NULL);
ERROR 23000: Column 'id' cannot be null
insert into t1 values (1), (NULL), (2);
Warnings:
Warning 1263 Column set to default value; NULL supplied to NOT NULL column 'id' at row 2
Warning 1263 Column was set to data type implicit default; NULL supplied for NOT NULL column 'id' at row 2
select * from t1;
id
1

View File

@ -606,8 +606,8 @@ NULL 2 100
create table t2(No int not null, Field int not null, Count int not null);
insert into t2 Select null, Field, Count From t1 Where Month=20030901 and Type=2;
Warnings:
Warning 1263 Column set to default value; NULL supplied to NOT NULL column 'No' at row 1
Warning 1263 Column set to default value; NULL supplied to NOT NULL column 'No' at row 2
Warning 1263 Column was set to data type implicit default; NULL supplied for NOT NULL column 'No' at row 1
Warning 1263 Column was set to data type implicit default; NULL supplied for NOT NULL column 'No' at row 2
select * from t2;
No Field Count
0 1 100

View File

@ -159,8 +159,8 @@ CREATE TABLE t1 (c CHAR(10) NOT NULL,i INT NOT NULL AUTO_INCREMENT,
UNIQUE (c,i));
INSERT INTO t1 (c) VALUES (NULL),(NULL);
Warnings:
Warning 1263 Column set to default value; NULL supplied to NOT NULL column 'c' at row 1
Warning 1263 Column set to default value; NULL supplied to NOT NULL column 'c' at row 2
Warning 1263 Column was set to data type implicit default; NULL supplied for NOT NULL column 'c' at row 1
Warning 1263 Column was set to data type implicit default; NULL supplied for NOT NULL column 'c' at row 2
SELECT * FROM t1;
c i
1

View File

@ -97,39 +97,39 @@ Warnings:
Warning 1265 Data truncated for column 'd' at row 1
UPDATE t1 SET d=NULL;
Warnings:
Warning 1263 Column set to default value; NULL supplied to NOT NULL column 'd' at row 1
Warning 1263 Column was set to data type implicit default; NULL supplied for NOT NULL column 'd' at row 1
INSERT INTO t1 (a) values (null);
ERROR 23000: Column 'a' cannot be null
INSERT INTO t1 (a) values (1/null);
ERROR 23000: Column 'a' cannot be null
INSERT INTO t1 (a) values (null),(null);
Warnings:
Warning 1263 Column set to default value; NULL supplied to NOT NULL column 'a' at row 1
Warning 1263 Column set to default value; NULL supplied to NOT NULL column 'a' at row 2
Warning 1263 Column was set to data type implicit default; NULL supplied for NOT NULL column 'a' at row 1
Warning 1263 Column was set to data type implicit default; NULL supplied for NOT NULL column 'a' at row 2
INSERT INTO t1 (b) values (null);
ERROR 23000: Column 'b' cannot be null
INSERT INTO t1 (b) values (1/null);
ERROR 23000: Column 'b' cannot be null
INSERT INTO t1 (b) values (null),(null);
Warnings:
Warning 1263 Column set to default value; NULL supplied to NOT NULL column 'b' at row 1
Warning 1263 Column set to default value; NULL supplied to NOT NULL column 'b' at row 2
Warning 1263 Column was set to data type implicit default; NULL supplied for NOT NULL column 'b' at row 1
Warning 1263 Column was set to data type implicit default; NULL supplied for NOT NULL column 'b' at row 2
INSERT INTO t1 (c) values (null);
ERROR 23000: Column 'c' cannot be null
INSERT INTO t1 (c) values (1/null);
ERROR 23000: Column 'c' cannot be null
INSERT INTO t1 (c) values (null),(null);
Warnings:
Warning 1263 Column set to default value; NULL supplied to NOT NULL column 'c' at row 1
Warning 1263 Column set to default value; NULL supplied to NOT NULL column 'c' at row 2
Warning 1263 Column was set to data type implicit default; NULL supplied for NOT NULL column 'c' at row 1
Warning 1263 Column was set to data type implicit default; NULL supplied for NOT NULL column 'c' at row 2
INSERT INTO t1 (d) values (null);
ERROR 23000: Column 'd' cannot be null
INSERT INTO t1 (d) values (1/null);
ERROR 23000: Column 'd' cannot be null
INSERT INTO t1 (d) values (null),(null);
Warnings:
Warning 1263 Column set to default value; NULL supplied to NOT NULL column 'd' at row 1
Warning 1263 Column set to default value; NULL supplied to NOT NULL column 'd' at row 2
Warning 1263 Column was set to data type implicit default; NULL supplied for NOT NULL column 'd' at row 1
Warning 1263 Column was set to data type implicit default; NULL supplied for NOT NULL column 'd' at row 2
select * from t1;
a b c d
0 0000-00-00 00:00:00 0

View File

@ -342,7 +342,7 @@ index (id2)
);
insert into t1 values(null,null),(1,1);
Warnings:
Warning 1263 Column set to default value; NULL supplied to NOT NULL column 'id2' at row 1
Warning 1263 Column was set to data type implicit default; NULL supplied for NOT NULL column 'id2' at row 1
select * from t1;
id id2
NULL 0

View File

@ -1304,7 +1304,7 @@ set @arg00=NULL;
set @arg01=2;
execute stmt1 using @arg00, @arg01;
Warnings:
Warning 1263 Column set to default value; NULL supplied to NOT NULL column 'a' at row 1
Warning 1263 Column was set to data type implicit default; NULL supplied for NOT NULL column 'a' at row 1
select a,b from t1 order by a;
a b
0 two

View File

@ -1287,7 +1287,7 @@ set @arg00=NULL;
set @arg01=2;
execute stmt1 using @arg00, @arg01;
Warnings:
Warning 1263 Column set to default value; NULL supplied to NOT NULL column 'a' at row 1
Warning 1263 Column was set to data type implicit default; NULL supplied for NOT NULL column 'a' at row 1
select a,b from t1 order by a;
a b
0 two

View File

@ -1288,7 +1288,7 @@ set @arg00=NULL;
set @arg01=2;
execute stmt1 using @arg00, @arg01;
Warnings:
Warning 1263 Column set to default value; NULL supplied to NOT NULL column 'a' at row 1
Warning 1263 Column was set to data type implicit default; NULL supplied for NOT NULL column 'a' at row 1
select a,b from t1 order by a;
a b
0 two

View File

@ -1330,7 +1330,7 @@ set @arg00=NULL;
set @arg01=2;
execute stmt1 using @arg00, @arg01;
Warnings:
Warning 1263 Column set to default value; NULL supplied to NOT NULL column 'a' at row 1
Warning 1263 Column was set to data type implicit default; NULL supplied for NOT NULL column 'a' at row 1
select a,b from t1 order by a;
a b
0 two
@ -4344,7 +4344,7 @@ set @arg00=NULL;
set @arg01=2;
execute stmt1 using @arg00, @arg01;
Warnings:
Warning 1263 Column set to default value; NULL supplied to NOT NULL column 'a' at row 1
Warning 1263 Column was set to data type implicit default; NULL supplied for NOT NULL column 'a' at row 1
select a,b from t1 order by a;
a b
0 two

View File

@ -1287,7 +1287,7 @@ set @arg00=NULL;
set @arg01=2;
execute stmt1 using @arg00, @arg01;
Warnings:
Warning 1263 Column set to default value; NULL supplied to NOT NULL column 'a' at row 1
Warning 1263 Column was set to data type implicit default; NULL supplied for NOT NULL column 'a' at row 1
select a,b from t1 order by a;
a b
0 two

View File

@ -989,16 +989,16 @@ ERROR 23000: Column 'col2' cannot be null
INSERT INTO t1 VALUES (103,'',NULL);
ERROR 23000: Column 'col3' cannot be null
UPDATE t1 SET col1=NULL WHERE col1 =100;
ERROR 22004: Column set to default value; NULL supplied to NOT NULL column 'col1' at row 1
ERROR 22004: Column was set to data type implicit default; NULL supplied for NOT NULL column 'col1' at row 1
UPDATE t1 SET col2 =NULL WHERE col2 ='hello';
ERROR 22004: Column set to default value; NULL supplied to NOT NULL column 'col2' at row 1
ERROR 22004: Column was set to data type implicit default; NULL supplied for NOT NULL column 'col2' at row 1
UPDATE t1 SET col2 =NULL where col3 IS NOT NULL;
ERROR 22004: Column set to default value; NULL supplied to NOT NULL column 'col2' at row 1
ERROR 22004: Column was set to data type implicit default; NULL supplied for NOT NULL column 'col2' at row 1
INSERT IGNORE INTO t1 values (NULL,NULL,NULL);
Warnings:
Warning 1263 Column set to default value; NULL supplied to NOT NULL column 'col1' at row 1
Warning 1263 Column set to default value; NULL supplied to NOT NULL column 'col2' at row 1
Warning 1263 Column set to default value; NULL supplied to NOT NULL column 'col3' at row 1
Warning 1263 Column was set to data type implicit default; NULL supplied for NOT NULL column 'col1' at row 1
Warning 1263 Column was set to data type implicit default; NULL supplied for NOT NULL column 'col2' at row 1
Warning 1263 Column was set to data type implicit default; NULL supplied for NOT NULL column 'col3' at row 1
SELECT * FROM t1;
col1 col2 col3
100 hello 2004-08-20
@ -1023,11 +1023,11 @@ ERROR HY000: Field 'col2' doesn't have a default value
INSERT INTO t1 (col1) SELECT 1;
ERROR HY000: Field 'col2' doesn't have a default value
INSERT INTO t1 SELECT 1,NULL;
ERROR 22004: Column set to default value; NULL supplied to NOT NULL column 'col2' at row 1
ERROR 22004: Column was set to data type implicit default; NULL supplied for NOT NULL column 'col2' at row 1
INSERT IGNORE INTO t1 values (NULL,NULL);
Warnings:
Warning 1263 Column set to default value; NULL supplied to NOT NULL column 'col1' at row 1
Warning 1263 Column set to default value; NULL supplied to NOT NULL column 'col2' at row 1
Warning 1263 Column was set to data type implicit default; NULL supplied for NOT NULL column 'col1' at row 1
Warning 1263 Column was set to data type implicit default; NULL supplied for NOT NULL column 'col2' at row 1
INSERT IGNORE INTO t1 (col1) values (3);
Warnings:
Warning 1364 Field 'col2' doesn't have a default value

View File

@ -1495,7 +1495,7 @@ insert into v3(b) values (10);
insert into v3(a) select a from t2;
insert into v3(b) select b from t2;
Warnings:
Warning 1263 Column set to default value; NULL supplied to NOT NULL column 'a' at row 2
Warning 1263 Column was set to data type implicit default; NULL supplied for NOT NULL column 'a' at row 2
insert into v3(a) values (1) on duplicate key update a=a+10000+VALUES(a);
select * from t1;
a b

View File

@ -72,7 +72,7 @@ drop table t1;
create table t1(a tinyint, b int not null, c date, d char(5));
load data infile '../std_data_ln/warnings_loaddata.dat' into table t1 fields terminated by ',';
Warnings:
Warning 1263 Column set to default value; NULL supplied to NOT NULL column 'b' at row 2
Warning 1263 Column was set to data type implicit default; NULL supplied for NOT NULL column 'b' at row 2
Warning 1265 Data truncated for column 'd' at row 3
Warning 1265 Data truncated for column 'c' at row 4
Warning 1261 Row 5 doesn't contain data for all columns
@ -86,7 +86,7 @@ drop table t1;
create table t1(a tinyint NOT NULL, b tinyint unsigned, c char(5));
insert into t1 values(NULL,100,'mysql'),(10,-1,'mysql ab'),(500,256,'open source'),(20,NULL,'test');
Warnings:
Warning 1263 Column set to default value; NULL supplied to NOT NULL column 'a' at row 1
Warning 1263 Column was set to data type implicit default; NULL supplied for NOT NULL column 'a' at row 1
Warning 1264 Out of range value adjusted for column 'b' at row 2
Warning 1265 Data truncated for column 'c' at row 2
Warning 1264 Out of range value adjusted for column 'a' at row 3
@ -99,7 +99,7 @@ Warning 1265 Data truncated for column 'c' at row 2
alter table t1 add d char(2);
update t1 set a=NULL where a=10;
Warnings:
Warning 1263 Column set to default value; NULL supplied to NOT NULL column 'a' at row 2
Warning 1263 Column was set to data type implicit default; NULL supplied for NOT NULL column 'a' at row 2
update t1 set c='mysql ab' where c='test';
Warnings:
Warning 1265 Data truncated for column 'c' at row 4
@ -115,7 +115,7 @@ Warnings:
Warning 1265 Data truncated for column 'b' at row 1
Warning 1265 Data truncated for column 'b' at row 2
Warning 1265 Data truncated for column 'b' at row 3
Warning 1263 Column set to default value; NULL supplied to NOT NULL column 'a' at row 4
Warning 1263 Column was set to data type implicit default; NULL supplied for NOT NULL column 'a' at row 4
Warning 1265 Data truncated for column 'b' at row 4
insert into t2(b) values('mysqlab');
Warnings: