1
by brian
clean slate |
1 |
drop table if exists t1, t2; |
2 |
create table t1 (a date, b date, c date not null, d date); |
|
3 |
load data infile '../std_data_ln/loaddata1.dat' into table t1 fields terminated by ','; |
|
4 |
Warnings: |
|
5 |
Warning 1265 Data truncated for column 'a' at row 1 |
|
6 |
Warning 1265 Data truncated for column 'c' at row 1 |
|
7 |
Warning 1265 Data truncated for column 'd' at row 1 |
|
8 |
Warning 1265 Data truncated for column 'a' at row 2 |
|
9 |
Warning 1265 Data truncated for column 'b' at row 2 |
|
10 |
Warning 1265 Data truncated for column 'd' at row 2 |
|
11 |
load data infile '../std_data_ln/loaddata1.dat' into table t1 fields terminated by ',' IGNORE 2 LINES; |
|
12 |
SELECT * from t1; |
|
13 |
a b c d |
|
14 |
0000-00-00 NULL 0000-00-00 0000-00-00 |
|
15 |
0000-00-00 0000-00-00 0000-00-00 0000-00-00 |
|
16 |
2003-03-03 2003-03-03 2003-03-03 NULL |
|
17 |
2003-03-03 2003-03-03 2003-03-03 NULL |
|
18 |
truncate table t1; |
|
19 |
load data infile '../std_data_ln/loaddata1.dat' into table t1 fields terminated by ',' LINES STARTING BY ',' (b,c,d); |
|
20 |
Warnings: |
|
21 |
Warning 1265 Data truncated for column 'c' at row 1 |
|
22 |
Warning 1265 Data truncated for column 'd' at row 1 |
|
23 |
Warning 1265 Data truncated for column 'b' at row 2 |
|
24 |
Warning 1265 Data truncated for column 'd' at row 2 |
|
25 |
SELECT * from t1; |
|
26 |
a b c d |
|
27 |
NULL NULL 0000-00-00 0000-00-00 |
|
28 |
NULL 0000-00-00 0000-00-00 0000-00-00 |
|
29 |
NULL 2003-03-03 2003-03-03 NULL |
|
30 |
drop table t1; |
|
31 |
create table t1 (a text, b text); |
|
32 |
load data infile '../std_data_ln/loaddata2.dat' into table t1 fields terminated by ',' enclosed by ''''; |
|
33 |
Warnings:
|
|
34 |
Warning 1261 Row 3 doesn't contain data for all columns
|
|
35 |
select concat('|',a,'|'), concat('|',b,'|') from t1;
|
|
36 |
concat('|',a,'|') concat('|',b,'|')
|
|
37 |
|Field A| |Field B|
|
|
38 |
|Field 1| |Field 2'
|
|
39 |
Field 3,'Field 4|
|
|
40 |
|Field 5' ,'Field 6| NULL
|
|
41 |
|Field 6| | 'Field 7'|
|
|
42 |
drop table t1;
|
|
43 |
create table t1 (a int, b char(10));
|
|
44 |
load data infile '../std_data_ln/loaddata3.dat' into table t1 fields terminated by '' enclosed by '' ignore 1 lines;
|
|
45 |
Warnings:
|
|
46 |
Warning 1366 Incorrect integer value: 'error ' for column 'a' at row 3
|
|
47 |
Warning 1262 Row 3 was truncated; it contained more data than there were input columns
|
|
48 |
Warning 1366 Incorrect integer value: 'wrong end ' for column 'a' at row 5
|
|
49 |
Warning 1262 Row 5 was truncated; it contained more data than there were input columns
|
|
50 |
select * from t1;
|
|
51 |
a b
|
|
52 |
1 row 1
|
|
53 |
2 row 2
|
|
54 |
0 1234567890
|
|
55 |
3 row 3
|
|
56 |
0 1234567890
|
|
57 |
truncate table t1;
|
|
58 |
load data infile '../std_data_ln/loaddata4.dat' into table t1 fields terminated by '' enclosed by '' lines terminated by '' ignore 1 lines;
|
|
59 |
Warnings:
|
|
60 |
Warning 1366 Incorrect integer value: '
|
|
61 |
' for column 'a' at row 4
|
|
62 |
Warning 1261 Row 4 doesn't contain data for all columns
|
|
63 |
select * from t1;
|
|
64 |
a b
|
|
65 |
1 row 1
|
|
66 |
2 row 2
|
|
67 |
3 row 3
|
|
68 |
0
|
|
69 |
drop table t1;
|
|
70 |
SET @OLD_SQL_MODE=@@SQL_MODE, @@SQL_MODE=NO_AUTO_VALUE_ON_ZERO;
|
|
71 |
create table t1(id integer not null auto_increment primary key);
|
|
72 |
insert into t1 values(0);
|
|
73 |
select * from t1;
|
|
74 |
id
|
|
75 |
0
|
|
76 |
select * from t1;
|
|
77 |
id
|
|
78 |
0
|
|
79 |
SET @@SQL_MODE=@OLD_SQL_MODE;
|
|
80 |
drop table t1;
|
|
81 |
create table t1 (a varchar(20), b varchar(20));
|
|
82 |
load data infile '../std_data_ln/loaddata_dq.dat' into table t1 fields terminated by ',' enclosed by '"' escaped by '"' (a,b);
|
|
83 |
select * from t1;
|
|
84 |
a b
|
|
85 |
field1 field2
|
|
86 |
a"b cd"ef
|
|
87 |
a"b c"d"e
|
|
88 |
drop table t1;
|
|
89 |
CREATE TABLE t1 (
|
|
90 |
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
91 |
c1 VARCHAR(255)
|
|
92 |
);
|
|
93 |
CREATE TABLE t2 (
|
|
94 |
id INT,
|
|
95 |
c2 VARCHAR(255)
|
|
96 |
);
|
|
97 |
INSERT INTO t1 (c1) VALUES
|
|
98 |
('r'), ('rr'), ('rrr'), ('rrrr'),
|
|
99 |
('.r'), ('.rr'), ('.rrr'), ('.rrrr'),
|
|
100 |
('r.'), ('rr.'), ('rrr.'), ('rrrr.'),
|
|
101 |
('.r.'), ('.rr.'), ('.rrr.'), ('.rrrr.');
|
|
102 |
SELECT * FROM t1;
|
|
103 |
id c1
|
|
104 |
1 r
|
|
105 |
2 rr
|
|
106 |
3 rrr
|
|
107 |
4 rrrr
|
|
108 |
5 .r
|
|
109 |
6 .rr
|
|
110 |
7 .rrr
|
|
111 |
8 .rrrr
|
|
112 |
9 r.
|
|
113 |
10 rr.
|
|
114 |
11 rrr.
|
|
115 |
12 rrrr.
|
|
116 |
13 .r.
|
|
117 |
14 .rr.
|
|
118 |
15 .rrr.
|
|
119 |
16 .rrrr.
|
|
120 |
SELECT * INTO OUTFILE 'MYSQLTEST_VARDIR/tmp/t1' FIELDS ENCLOSED BY 'r' FROM t1;
|
|
121 |
r1r rrrr
|
|
122 |
r2r rrrrrr
|
|
123 |
r3r rrrrrrrr
|
|
124 |
r4r rrrrrrrrrr
|
|
125 |
r5r r.rrr
|
|
126 |
r6r r.rrrrr
|
|
127 |
r7r r.rrrrrrr
|
|
128 |
r8r r.rrrrrrrrr
|
|
129 |
r9r rrr.r
|
|
130 |
r10r rrrrr.r
|
|
131 |
r11r rrrrrrr.r
|
|
132 |
r12r rrrrrrrrr.r
|
|
133 |
r13r r.rr.r
|
|
134 |
r14r r.rrrr.r
|
|
135 |
r15r r.rrrrrr.r
|
|
136 |
r16r r.rrrrrrrr.r
|
|
137 |
LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/t1' INTO TABLE t2 FIELDS ENCLOSED BY 'r';
|
|
138 |
SELECT t1.id, c1, c2 FROM t1 LEFT JOIN t2 ON t1.id=t2.id WHERE c1 != c2;
|
|
139 |
id c1 c2
|
|
140 |
SELECT t1.id, c1, c2 FROM t1 RIGHT JOIN t2 ON t1.id=t2.id WHERE c1 != c2;
|
|
141 |
id c1 c2
|
|
142 |
DROP TABLE t1,t2;
|
|
143 |
create table t1 (a int default 100, b int, c varchar(60));
|
|
144 |
load data infile '../std_data_ln/rpl_loaddata.dat' into table t1 (a, @b) set b=@b+10, c=concat("b=",@b);
|
|
145 |
select * from t1;
|
|
146 |
a b c
|
|
147 |
NULL 20 b=10
|
|
148 |
NULL 25 b=15
|
|
149 |
truncate table t1;
|
|
150 |
load data infile '../std_data_ln/rpl_loaddata.dat' into table t1 (a, @b) set c= if(a is null,"oops",a);
|
|
151 |
select * from t1;
|
|
152 |
a b c
|
|
153 |
NULL NULL oops
|
|
154 |
NULL NULL oops
|
|
155 |
truncate table t1;
|
|
156 |
set @c:=123;
|
|
157 |
load data infile '../std_data_ln/rpl_loaddata.dat' into table t1 (@a, b) set c= if(@a is null,@c,b);
|
|
158 |
select * from t1;
|
|
159 |
a b c
|
|
160 |
100 10 123
|
|
161 |
100 15 123
|
|
162 |
load data infile '../std_data_ln/rpl_loaddata.dat' into table t1 (@a, @b);
|
|
163 |
select * from t1;
|
|
164 |
a b c
|
|
165 |
100 10 123
|
|
166 |
100 15 123
|
|
167 |
100 NULL NULL
|
|
168 |
100 NULL NULL
|
|
169 |
select @a, @b;
|
|
170 |
@a @b
|
|
171 |
NULL 15
|
|
172 |
truncate table t1;
|
|
173 |
load data infile '../std_data_ln/rpl_loaddata.dat' into table t1 set c=b;
|
|
174 |
Warnings:
|
|
175 |
Warning 1261 Row 1 doesn't contain data for all columns
|
|
176 |
Warning 1261 Row 2 doesn't contain data for all columns
|
|
177 |
select * from t1;
|
|
178 |
a b c
|
|
179 |
NULL 10 10
|
|
180 |
NULL 15 15
|
|
181 |
truncate table t1;
|
|
182 |
load data infile '../std_data_ln/loaddata5.dat' into table t1 fields terminated by '' enclosed by '' (a, b) set c="Wow";
|
|
183 |
select * from t1;
|
|
184 |
a b c
|
|
185 |
1 2 Wow
|
|
186 |
3 4 Wow
|
|
187 |
5 6 Wow
|
|
188 |
truncate table t1;
|
|
189 |
load data infile '../std_data_ln/loaddata5.dat' into table t1 fields terminated by '' enclosed by '' (a, b) set c=concat(a,"+",b,"+",@c,"+",b,"+",if(c is null,"NIL",c));
|
|
190 |
select * from t1;
|
|
191 |
a b c
|
|
192 |
1 2 1+2+123+2+NIL
|
|
193 |
3 4 3+4+123+4+NIL
|
|
194 |
5 6 5+6+123+6+NIL
|
|
195 |
load data infile '../std_data_ln/loaddata5.dat' into table t1 fields terminated by '' enclosed by '' (a, @b);
|
|
196 |
ERROR HY000: Can't load value from file with fixed size rows to variable
|
|
197 |
create table t2 (num int primary key, str varchar(10));
|
|
198 |
insert into t2 values (10,'Ten'), (15,'Fifteen');
|
|
199 |
truncate table t1;
|
|
200 |
load data infile '../std_data_ln/rpl_loaddata.dat' into table t1 (@dummy,@n) set a= @n, c= (select str from t2 where num=@n);
|
|
201 |
select * from t1;
|
|
202 |
a b c
|
|
203 |
10 NULL Ten
|
|
204 |
15 NULL Fifteen
|
|
205 |
show variables like "secure_file_pri%";
|
|
206 |
Variable_name Value
|
|
207 |
secure_file_priv MYSQLTEST_VARDIR/
|
|
208 |
select @@secure_file_priv;
|
|
209 |
@@secure_file_priv
|
|
210 |
MYSQLTEST_VARDIR/
|
|
211 |
set @@secure_file_priv= 0;
|
|
212 |
ERROR HY000: Variable 'secure_file_priv' is a read only variable
|
|
213 |
truncate table t1;
|
|
214 |
load data infile 'MYSQL_TEST_DIR/t/loaddata.test' into table t1;
|
|
215 |
ERROR HY000: The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
|
|
216 |
select * from t1;
|
|
217 |
a b c
|
|
218 |
select load_file("MYSQL_TEST_DIR/t/loaddata.test");
|
|
219 |
load_file("MYSQL_TEST_DIR/t/loaddata.test")
|
|
220 |
NULL
|
|
221 |
drop table t1, t2;
|
|
222 |
create table t1(f1 int);
|
|
223 |
insert into t1 values(1),(null);
|
|
224 |
create table t2(f2 int auto_increment primary key);
|
|
225 |
select * from t2;
|
|
226 |
f2
|
|
227 |
1
|
|
228 |
2
|
|
229 |
SET @@SQL_MODE=@OLD_SQL_MODE;
|
|
230 |
drop table t1,t2;
|
|
231 |
create table t1(f1 int, f2 timestamp not null default current_timestamp);
|
|
232 |
create table t2(f1 int);
|
|
233 |
insert into t2 values(1),(2);
|
|
234 |
Warnings:
|
|
235 |
Warning 1261 Row 1 doesn't contain data for all columns
|
|
236 |
Warning 1261 Row 2 doesn't contain data for all columns
|
|
237 |
select f1 from t1 where f2 <> '0000-00-00 00:00:00' order by f1;
|
|
238 |
f1
|
|
239 |
1
|
|
240 |
2
|
|
241 |
delete from t1;
|
|
242 |
Warnings:
|
|
243 |
Warning 1261 Row 1 doesn't contain data for all columns
|
|
244 |
Warning 1261 Row 2 doesn't contain data for all columns
|
|
245 |
select f1 from t1 where f2 <> '0000-00-00 00:00:00' order by f1;
|
|
246 |
f1
|
|
247 |
1
|
|
248 |
2
|
|
249 |
drop table t1,t2;
|
|
250 |
CREATE TABLE t1 (c1 INT, c2 TIMESTAMP, c3 REAL, c4 DOUBLE);
|
|
251 |
INSERT INTO t1 (c1, c2, c3, c4) VALUES (10, '1970-02-01 01:02:03', 1.1E-100, 1.1E+100);
|
|
252 |
SELECT * FROM t1;
|
|
253 |
c1 c2 c3 c4
|
|
254 |
10 1970-02-01 01:02:03 1.1e-100 1.1e100
|
|
255 |
SELECT * INTO OUTFILE 'MYSQLTEST_VARDIR/tmp/t1' FIELDS ENCLOSED BY '-' FROM t1;
|
|
256 |
-10- -1970\-02\-01 01:02:03- -1.1e\-100- -1.1e100-
|
|
257 |
EOF
|
|
258 |
TRUNCATE t1;
|
|
259 |
LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/t1' INTO TABLE t1 FIELDS ENCLOSED BY '-';
|
|
260 |
SELECT * FROM t1;
|
|
261 |
c1 c2 c3 c4
|
|
262 |
10 1970-02-01 01:02:03 1.1e-100 1.1e100
|
|
263 |
DROP TABLE t1;
|
|
264 |
||
265 |
# --
|
|
266 |
# -- Bug#35469: server crash with LOAD DATA INFILE to a VIEW.
|
|
267 |
# --
|
|
268 |
||
269 |
DROP TABLE IF EXISTS t1;
|
|
270 |
DROP VIEW IF EXISTS v1;
|
|
271 |
DROP VIEW IF EXISTS v2;
|
|
272 |
DROP VIEW IF EXISTS v3;
|
|
273 |
||
274 |
CREATE TABLE t1(c1 INT, c2 VARCHAR(255));
|
|
275 |
||
276 |
CREATE VIEW v1 AS SELECT * FROM t1;
|
|
277 |
CREATE VIEW v2 AS SELECT 1 + 2 AS c0, c1, c2 FROM t1;
|
|
278 |
CREATE VIEW v3 AS SELECT 1 AS d1, 2 AS d2;
|
|
279 |
||
280 |
LOAD DATA INFILE '../std_data_ln/bug35469.dat' INTO TABLE v1
|
|
281 |
FIELDS ESCAPED BY '\\' |
|
282 |
TERMINATED BY ','
|
|
283 |
ENCLOSED BY '"'
|
|
284 |
LINES TERMINATED BY '\n' (c1, c2); |
|
285 |
||
286 |
SELECT * FROM t1;
|
|
287 |
c1 c2
|
|
288 |
1 "string1"
|
|
289 |
2 "string2"
|
|
290 |
3 "string3"
|
|
291 |
||
292 |
SELECT * FROM v1;
|
|
293 |
c1 c2
|
|
294 |
1 "string1"
|
|
295 |
2 "string2"
|
|
296 |
3 "string3"
|
|
297 |
||
298 |
DELETE FROM t1;
|
|
299 |
||
300 |
LOAD DATA INFILE '../std_data_ln/bug35469.dat' INTO TABLE v2
|
|
301 |
FIELDS ESCAPED BY '\\' |
|
302 |
TERMINATED BY ','
|
|
303 |
ENCLOSED BY '"'
|
|
304 |
LINES TERMINATED BY '\n' (c1, c2); |
|
305 |
||
306 |
SELECT * FROM t1;
|
|
307 |
c1 c2
|
|
308 |
1 "string1"
|
|
309 |
2 "string2"
|
|
310 |
3 "string3"
|
|
311 |
||
312 |
SELECT * FROM v2;
|
|
313 |
c0 c1 c2
|
|
314 |
3 1 "string1"
|
|
315 |
3 2 "string2"
|
|
316 |
3 3 "string3"
|
|
317 |
||
318 |
DELETE FROM t1;
|
|
319 |
||
320 |
LOAD DATA INFILE '../std_data_ln/bug35469.dat' INTO TABLE v2
|
|
321 |
FIELDS ESCAPED BY '\\' |
|
322 |
TERMINATED BY ','
|
|
323 |
ENCLOSED BY '"'
|
|
324 |
LINES TERMINATED BY '\n' (c0, c2); |
|
325 |
ERROR HY000: Invalid column reference (v2.c0) in LOAD DATA
|
|
326 |
||
327 |
LOAD DATA INFILE '../std_data_ln/bug35469.dat' INTO TABLE v3
|
|
328 |
FIELDS ESCAPED BY '\\' |
|
329 |
TERMINATED BY ','
|
|
330 |
ENCLOSED BY '"'
|
|
331 |
LINES TERMINATED BY '\n' (d1, d2); |
|
332 |
ERROR HY000: The target table v3 of the LOAD is not updatable
|
|
333 |
||
334 |
DROP TABLE t1;
|
|
335 |
DROP VIEW v1;
|
|
336 |
DROP VIEW v2;
|
|
337 |
DROP VIEW v3;
|
|
338 |
||
339 |
# -- End of Bug#35469.
|
|
340 |
CREATE TABLE t1 (a int);
|
|
341 |
INSERT INTO t1 VALUES (1);
|
|
342 |
SET NAMES latin1;
|
|
343 |
SET character_set_filesystem=filename;
|
|
344 |
select @@character_set_filesystem;
|
|
345 |
@@character_set_filesystem
|
|
346 |
filename
|
|
347 |
SELECT * INTO OUTFILE 't-1' FROM t1;
|
|
348 |
DELETE FROM t1;
|
|
349 |
LOAD DATA INFILE 't-1' INTO TABLE t1;
|
|
350 |
SELECT * FROM t1;
|
|
351 |
a
|
|
352 |
1
|
|
353 |
DELETE FROM t1;
|
|
354 |
SET character_set_filesystem=latin1;
|
|
355 |
select @@character_set_filesystem;
|
|
356 |
@@character_set_filesystem
|
|
357 |
latin1
|
|
358 |
LOAD DATA INFILE 't@002d1' INTO TABLE t1;
|
|
359 |
SELECT * FROM t1;
|
|
360 |
a
|
|
361 |
1
|
|
362 |
DROP TABLE t1;
|
|
363 |
SET character_set_filesystem=default;
|
|
364 |
select @@character_set_filesystem;
|
|
365 |
@@character_set_filesystem
|
|
366 |
binary
|