1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
|
drop table if exists t1, t2;
SET SQL_WARNINGS=1;
create table t1 (a int);
create table t1 (a int);
ERROR 42S01: Table 'test.t1' already exists
show count(*) errors;
@@session.error_count
1
show errors;
Level Code Message
Error 1050 Table 'test.t1' already exists
show warnings;
Level Code Message
Error 1050 Table 'test.t1' already exists
create table t (i);
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your Drizzle server version for the right syntax to use near ')' at line 1
show count(*) errors;
@@session.error_count
1
show errors;
Level Code Message
Error 1064 You have an error in your SQL syntax; check the manual that corresponds to your Drizzle server version for the right syntax to use near ')' at line 1
insert into t1 values (1);
insert into t1 values ("hej");
ERROR HY000: Incorrect integer value: 'hej' for column 'a' at row 1
insert into t1 values ("hej"),("då");
ERROR HY000: Incorrect integer value: 'hej' for column 'a' at row 1
set SQL_WARNINGS=1;
insert into t1 values ("hej");
ERROR HY000: Incorrect integer value: 'hej' for column 'a' at row 1
insert into t1 values ("hej"),("då");
ERROR HY000: Incorrect integer value: 'hej' for column 'a' at row 1
drop table t1;
set SQL_WARNINGS=0;
drop temporary table if exists not_exists;
Warnings:
Note 1051 Unknown table 'not_exists'
drop table if exists not_exists_table;
Warnings:
Note 1051 Unknown table 'not_exists_table'
show warnings limit 1;
Level Code Message
Note 1051 Unknown table 'not_exists_table'
drop database if exists not_exists_db;
Warnings:
Note 1008 Can't drop schema 'not_exists_db'; schema doesn't exist
show count(*) warnings;
@@session.warning_count
1
create table t1(id int);
create table if not exists t1(id int);
Warnings:
Note 1050 Table 't1' already exists
select @@warning_count;
@@warning_count
1
drop table t1;
create table t1(a int, b int not null, c date, d char(5));
load data infile 'DRIZZLETEST_VARDIR/std_data_ln/warnings_loaddata.dat' into table t1 fields terminated by ',';
ERROR 22004: Column set to default value; NULL supplied to NOT NULL column 'b' at row 2
select @@warning_count;
@@warning_count
1
drop table t1;
create table t1(a int NOT NULL, b int, c char(5));
insert into t1 values(-1,100,'mysql'),(10,-1,'mysql ab'),(500,256,'open source'),(20,NULL,'test');
ERROR 22001: Data too long for column 'c' at row 2
insert into t1 values(-1,100,'mysql'),(10,-1,'dri '),(500,256,'zzle'),(20,NULL,'test');
alter table t1 modify c char(4);
ERROR 01000: Data truncated for column 'c' at row 1
alter table t1 add d char(2);
update t1 set a=NULL where a=10;
ERROR 23000: Column 'a' cannot be null
update t1 set c='drizzle' where c='test';
ERROR 22001: Data too long for column 'c' at row 4
update t1 set d=c;
ERROR 22001: Data too long for column 'd' at row 1
create table t2(a int NOT NULL, b char(3));
insert into t2 select b,c from t1;
ERROR 22001: Data too long for column 'b' at row 1
insert into t2(b) values('mysqlab');
ERROR HY000: Field 'a' doesn't have a default value
insert into t2(a) values(1);
set sql_warnings=1;
insert into t2(a,b) values(1,'mysqlab');
ERROR 22001: Data too long for column 'b' at row 1
insert into t2(a,b) values(1,'mys');
set sql_warnings=0;
drop table t1, t2;
create table t1(a char(10));
alter table t1 add b char;
set max_error_count=10;
update t1 set b=a;
ERROR 22001: Data too long for column 'b' at row 1
alter table t1 modify b char(10);
update t1 set b=a;
select @@warning_count;
@@warning_count
0
set max_error_count=0;
show variables like 'max_error_count';
Variable_name Value
max_error_count 0
update t1 set b='hi';
select @@warning_count;
@@warning_count
0
show warnings;
Level Code Message
set max_error_count=65535;
show variables like 'max_error_count';
Variable_name Value
max_error_count 65535
set max_error_count=10;
show variables like 'max_error_count';
Variable_name Value
max_error_count 10
drop table t1;
create table t1 (a int);
insert into t1 (a) values (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
update t1 set a='abc';
ERROR HY000: Incorrect integer value: 'abc' for column 'a' at row 1
show warnings limit 2, 1;
Level Code Message
show warnings limit 0, 10;
Level Code Message
Error 1366 Incorrect integer value: 'abc' for column 'a' at row 1
show warnings limit 9, 1;
Level Code Message
show warnings limit 10, 1;
Level Code Message
show warnings limit 9, 2;
Level Code Message
show warnings limit 0, 0;
Level Code Message
show warnings limit 1;
Level Code Message
Error 1366 Incorrect integer value: 'abc' for column 'a' at row 1
show warnings limit 0;
Level Code Message
show warnings limit 1, 0;
Level Code Message
select * from t1 limit 0;
a
select * from t1 limit 1, 0;
a
select * from t1 limit 0, 0;
a
drop table t1;
End of 4.1 tests
create table t1 (c_char char(255), c_varchar varchar(255), c_tinytext blob);
set @c = repeat(' ', 256);
set @q = repeat('q', 256);
insert into t1 values(@c, @c, @c);
ERROR 22001: Data too long for column 'c_char' at row 1
show warnings;
Level Code Message
Error 1406 Data too long for column 'c_char' at row 1
insert into t1 values(@q, NULL, NULL);
ERROR 22001: Data too long for column 'c_char' at row 1
insert into t1 values(NULL, @q, NULL);
ERROR 22001: Data too long for column 'c_varchar' at row 1
insert into t1 values(NULL, NULL, @q);
drop table t1;
End of Drizzle tests
|