polardbxengine/mysql-test/suite/innodb/r/auto_increment.result

1967 lines
37 KiB
Plaintext

SET @default_innodb_autoinc_lock_mode = @@global.innodb_autoinc_lock_mode;
SELECT @@global.innodb_autoinc_lock_mode;
@@global.innodb_autoinc_lock_mode
2
SET @default_auto_increment_offset = @@global.auto_increment_offset;
SET @default_auto_increment_increment = @@global.auto_increment_increment;
# Bulk inserts in interleaved lock mode
CREATE TABLE t3(cc INT);
INSERT INTO t3 VALUES (10),(20),(30),(40),(50),(60),(70),(80);
CREATE TABLE t4(pkey INT NOT NULL AUTO_INCREMENT PRIMARY KEY, cc INT);
INSERT INTO t4(cc) SELECT * FROM t3;
SHOW CREATE TABLE t4;
Table Create Table
t4 CREATE TABLE `t4` (
`pkey` int(11) NOT NULL AUTO_INCREMENT,
`cc` int(11) DEFAULT NULL,
PRIMARY KEY (`pkey`)
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
INSERT INTO t4(cc) SELECT * FROM t3;
SHOW CREATE TABLE t4;
Table Create Table
t4 CREATE TABLE `t4` (
`pkey` int(11) NOT NULL AUTO_INCREMENT,
`cc` int(11) DEFAULT NULL,
PRIMARY KEY (`pkey`)
) ENGINE=InnoDB AUTO_INCREMENT=31 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
DROP TABLE t4;
DROP TABLE t3;
# Concurrent simple inserts in interleaved lock mode
CREATE TABLE t1 (pkey INT NOT NULL AUTO_INCREMENT PRIMARY KEY, bb INT);
CREATE PROCEDURE POP1()
BEGIN
DECLARE i INT DEFAULT 1;
WHILE (i<= 10) DO
INSERT INTO t1 VALUES(NULL,i);
IF ((i%2) =0 ) THEN
DELETE FROM t1 WHERE bb=i;
END IF;
SET i = i+1;
END WHILE;
END //
CALL POP1();
CALL POP1();
SELECT COUNT(*) FROM t1;
COUNT(*)
10
SET @@global.auto_increment_offset = 9;
SET @@global.auto_increment_increment = 10;
TRUNCATE TABLE t1;
CALL POP1();
CALL POP1();
SELECT COUNT(*) FROM t1;
COUNT(*)
10
SET @@global.auto_increment_offset = @default_auto_increment_offset;
SET @@global.auto_increment_increment = @default_auto_increment_increment;
DROP PROCEDURE POP1;
DROP TABLE t1;
# Concurrent bulk inserts in interleaved lock mode
CREATE TABLE t2 (pkey INT NOT NULL AUTO_INCREMENT PRIMARY KEY, aa INT);
CREATE TABLE t1 (aa INT);
CREATE PROCEDURE POP()
BEGIN
DECLARE i INT DEFAULT 1;
WHILE (i <= 10) DO
INSERT INTO t1 VALUES(i);
SET i = i +1;
END WHILE;
INSERT INTO t2(aa) SELECT * FROM t1;
END //
CALL POP();
CALL POP();
SET @@global.auto_increment_offset = 7;
SET @@global.auto_increment_increment = 15;
TRUNCATE TABLE t1;
TRUNCATE TABLE t2;
CALL POP();
CALL POP();
SET @@global.auto_increment_increment = @default_auto_increment_increment;
SET @@global.auto_increment_offset = @default_auto_increment_offset;
DROP TABLE t1;
DROP TABLE t2;
DROP PROCEDURE POP;
# Concurrent mixed mode inserts in interleaved lock mode
CREATE TABLE t1 (pkey INT NOT NULL AUTO_INCREMENT PRIMARY KEY, cc INT);
CREATE PROCEDURE POP2(IN j INT)
BEGIN
DECLARE i INT DEFAULT 1;
WHILE (i<=5) DO
INSERT INTO t1(cc) VALUES(i);
SET i=i+1;
END WHILE;
INSERT INTO t1 VALUES(100+j,20);
WHILE(i>=5 && i<=10) DO
INSERT INTO t1(cc) VALUES(i);
SET i=i+1;
END WHILE;
INSERT INTO t1 VALUES (200+j,25);
WHILE(i>=10 && i<=15) DO
INSERT INTO t1(cc) VALUES(i);
SET i=i+1;
END WHILE;
END //
Warnings:
Warning 1287 '&&' is deprecated and will be removed in a future release. Please use AND instead
Warning 1287 '&&' is deprecated and will be removed in a future release. Please use AND instead
CALL POP2(1);
CALL POP2(120);
SELECT COUNT(*) FROM t1;
COUNT(*)
34
SET @@global.auto_increment_offset = 13;
SET @@global.auto_increment_increment = 43;
TRUNCATE TABLE t1;
CALL POP2(1);
CALL POP2(280);
SELECT COUNT(*) FROM t1;
COUNT(*)
34
SET @@global.auto_increment_offset = @default_auto_increment_offset;
SET @@global.auto_increment_increment = @default_auto_increment_increment;
DROP PROCEDURE POP2;
DROP TABLE t1;
# Transactions in interleaved lock mode
CREATE TABLE t1(pkey INT NOT NULL AUTO_INCREMENT PRIMARY KEY);
START TRANSACTION;
INSERT INTO t1 VALUES (NULL),(NULL),(NULL);
ROLLBACK;
INSERT INTO t1 VALUES (NULL),(NULL),(NULL);
SELECT * FROM t1;
pkey
4
5
6
DROP TABLE t1;
CREATE TABLE t1(pkey INT NOT NULL AUTO_INCREMENT PRIMARY KEY, aa INT);
CREATE TABLE t2(aa INT);
INSERT INTO t2 VALUES(1),(2),(3),(4),(5),(6),(7);
START TRANSACTION;
INSERT INTO t1(aa) SELECT * FROM t2;
SELECT * FROM t1;
pkey aa
1 1
2 2
3 3
4 4
5 5
6 6
7 7
ROLLBACK;
INSERT INTO t1(aa) SELECT * FROM t2;
SELECT * FROM t1;
pkey aa
8 1
9 2
10 3
11 4
12 5
13 6
14 7
DROP TABLE t1;
DROP TABLE t2;
CREATE TABLE t1(pkey INT NOT NULL AUTO_INCREMENT PRIMARY KEY);
START TRANSACTION;
INSERT INTO t1 VALUES (NULL),(NULL),(NULL),(NULL);
INSERT INTO t1 VALUES (23),(24);
INSERT INTO t1 VALUES (NULL),(NULL),(NULL);
INSERT INTO t1 VALUES (34);
SELECT * FROM t1;
pkey
1
2
3
4
23
24
25
26
27
34
ROLLBACK;
INSERT INTO t1 VALUES (NULL),(NULL),(NULL),(NULL);
INSERT INTO t1 VALUES (23),(24);
INSERT INTO t1 VALUES (NULL),(NULL),(NULL);
INSERT INTO t1 VALUES (34);
SELECT * FROM t1;
pkey
23
24
34
35
36
37
38
39
40
41
DROP TABLE t1;
# Simple, Mixed and Bulk inserts with auto increment offset in interleaved locking mode
SET @@auto_increment_offset = 17;
SET @@auto_increment_increment = 40;
CREATE TABLE t1(pkey INT NOT NULL AUTO_INCREMENT PRIMARY KEY);
START TRANSACTION;
INSERT INTO t1 VALUES (NULL),(NULL),(NULL);
SELECT * FROM t1;
pkey
17
57
97
ROLLBACK;
INSERT INTO t1 VALUES (NULL),(NULL),(NULL);
SELECT * FROM t1;
pkey
137
177
217
DROP TABLE t1;
CREATE TABLE t1(pkey INT NOT NULL AUTO_INCREMENT PRIMARY KEY, aa INT);
CREATE TABLE t2(aa INT);
INSERT INTO t2 VALUES(1),(2),(3),(4),(5),(6),(7);
START TRANSACTION;
INSERT INTO t1(aa) SELECT * FROM t2;
SELECT * FROM t1;
pkey aa
17 1
57 2
97 3
137 4
177 5
217 6
257 7
ROLLBACK;
INSERT INTO t1(aa) SELECT * FROM t2;
SELECT * FROM t1;
pkey aa
297 1
337 2
377 3
417 4
457 5
497 6
537 7
DROP TABLE t1;
DROP TABLE t2;
CREATE TABLE t1(pkey INT NOT NULL AUTO_INCREMENT PRIMARY KEY);
START TRANSACTION;
INSERT INTO t1 VALUES (NULL),(NULL),(NULL),(NULL);
INSERT INTO t1 VALUES (23),(24);
INSERT INTO t1 VALUES (NULL),(NULL),(NULL);
INSERT INTO t1 VALUES (34);
SELECT * FROM t1;
pkey
17
23
24
34
57
97
137
177
217
257
ROLLBACK;
INSERT INTO t1 VALUES (NULL),(NULL),(NULL),(NULL);
INSERT INTO t1 VALUES (23),(24);
INSERT INTO t1 VALUES (NULL),(NULL),(NULL);
INSERT INTO t1 VALUES (34);
SELECT * FROM t1;
pkey
23
24
34
297
337
377
417
457
497
537
DROP TABLE t1;
SET @@auto_increment_offset = @default_auto_increment_offset;
SET @@auto_increment_increment = @default_auto_increment_increment;
# Transactions with concurrency in interleaved locking mode
CREATE TABLE t1 (pkey INT NOT NULL AUTO_INCREMENT PRIMARY KEY, bb INT);
CREATE PROCEDURE POP1()
BEGIN
DECLARE i INT DEFAULT 1;
WHILE (i<= 10) DO
INSERT INTO t1 VALUES(NULL,i);
SET i = i+1;
END WHILE;
END //
START TRANSACTION;
CALL POP1();
CALL POP1();
SELECT COUNT(*) FROM t1;
COUNT(*)
20
ROLLBACK;
CALL POP1();
CALL POP1();
SELECT COUNT(*) FROM t1;
COUNT(*)
30
DROP PROCEDURE POP1;
DROP TABLE t1;
CREATE TABLE t1 (pkey INT NOT NULL AUTO_INCREMENT PRIMARY KEY, cc INT);
CREATE PROCEDURE POP2(IN j INT)
BEGIN
DECLARE i INT DEFAULT 1;
WHILE (i<=5) DO
INSERT INTO t1(cc) VALUES(i);
SET i=i+1;
END WHILE;
INSERT INTO t1 VALUES(100+j,20);
WHILE(i>=5 && i<=10) DO
INSERT INTO t1(cc) VALUES(i);
SET i=i+1;
END WHILE;
INSERT INTO t1 VALUES (200+j,25);
WHILE(i>=10 && i<=15) DO
INSERT INTO t1(cc) VALUES(i);
SET i=i+1;
END WHILE;
END //
Warnings:
Warning 1287 '&&' is deprecated and will be removed in a future release. Please use AND instead
Warning 1287 '&&' is deprecated and will be removed in a future release. Please use AND instead
START TRANSACTION;
CALL POP2(1);
CALL POP2(60);
SELECT COUNT(*) FROM t1;
COUNT(*)
34
ROLLBACK;
CALL POP2(1);
CALL POP2(280);
SELECT COUNT(*) FROM t1;
COUNT(*)
51
DROP PROCEDURE POP2;
DROP TABLE t1;
# Crash server in interleaved lock mode
CREATE TABLE t1(pkey INT NOT NULL AUTO_INCREMENT PRIMARY KEY, aa INT);
CREATE PROCEDURE POP()
BEGIN
DECLARE i INT DEFAULT 1;
WHILE (i <= 10) DO
INSERT INTO t1(aa) VALUES(i);
SET i = i +1;
END WHILE;
END //
START TRANSACTION;
CALL POP();
SET SESSION DEBUG="+d,crash_commit_after";
CR_SERVER_LOST
COMMIT;
ERROR HY000: Lost connection to MySQL server during query
# restart
SELECT COUNT(*) FROM t1;
COUNT(*)
10
START TRANSACTION;
CALL POP();
SET SESSION DEBUG="+d,crash_commit_before";
CR_SERVER_LOST
COMMIT;
ERROR HY000: Lost connection to MySQL server during query
# restart
SELECT COUNT(*) FROM t1;
COUNT(*)
10
TRUNCATE TABLE t1;
SET @@auto_increment_offset = 20;
SET @@auto_increment_increment = 40;
START TRANSACTION;
CALL POP();
SET SESSION DEBUG="+d,crash_commit_after";
CR_SERVER_LOST
COMMIT;
ERROR HY000: Lost connection to MySQL server during query
# restart
SELECT COUNT(*) FROM t1;
COUNT(*)
10
START TRANSACTION;
CALL POP();
SET SESSION DEBUG="+d,crash_commit_before";
CR_SERVER_LOST
COMMIT;
ERROR HY000: Lost connection to MySQL server during query
# restart
SELECT COUNT(*) FROM t1;
COUNT(*)
10
DROP TABLE t1;
DROP PROCEDURE POP;
# Concurrent load inserts in interleaved lock mode
CREATE TABLE loads ( pkey INT PRIMARY KEY AUTO_INCREMENT, ww CHAR(50));
LOAD DATA INFILE '../../std_data/words.dat' INTO TABLE loads(ww);
LOAD DATA INFILE '../../std_data/words.dat' INTO TABLE loads(ww);
SELECT MAX(pkey) FROM loads;
MAX(pkey)
197
SET @@global.auto_increment_offset = 12;
SET @@global.auto_increment_increment = 50;
TRUNCATE TABLE loads;
LOAD DATA INFILE '../../std_data/words.dat' INTO TABLE loads(ww);
LOAD DATA INFILE '../../std_data/words.dat' INTO TABLE loads(ww);
SELECT MAX(pkey) FROM loads;
MAX(pkey)
9812
DROP TABLE loads;
# Restart server with innodb_autoinc_lock_mode = 1
# restart: --innodb_autoinc_lock_mode=1
SELECT @@global.innodb_autoinc_lock_mode;
@@global.innodb_autoinc_lock_mode
1
SET @default_auto_increment_offset = @@global.auto_increment_offset;
SET @default_auto_increment_increment = @@global.auto_increment_increment;
CREATE TABLE t1 (pkey INT NOT NULL AUTO_INCREMENT PRIMARY KEY, a INT);
INSERT INTO t1 values (NULL,3),
(NULL,6),
(NULL,9),
(NULL,12),
(NULL,15);
SELECT * FROM t1;
pkey a
1 3
2 6
3 9
4 12
5 15
UPDATE t1 SET pkey = 6
WHERE a = 15;
SELECT * FROM t1;
pkey a
1 3
2 6
3 9
4 12
6 15
INSERT INTO t1 VALUES (NULL,18);
SELECT * FROM t1;
pkey a
1 3
2 6
3 9
4 12
6 15
7 18
DELETE FROM t1 WHERE a = 18;
INSERT INTO t1 VALUES (NULL,18);
SELECT * FROM t1;
pkey a
1 3
2 6
3 9
4 12
6 15
8 18
SET @default_auto_increment_increment = @@auto_increment_increment;
SET @@auto_increment_increment=10;
SELECT @@session.auto_increment_increment;
@@session.auto_increment_increment
10
INSERT INTO t1 VALUES (NULL,21),
(NULL,24),
(NULL,27);
SELECT * FROM t1;
pkey a
1 3
2 6
3 9
4 12
6 15
8 18
11 21
21 24
31 27
SET @default_auto_increment_offset = @@auto_increment_offset;
SET @@auto_increment_offset=5;
SELECT @@auto_increment_offset;
@@auto_increment_offset
5
INSERT INTO t1 VALUES (NULL,30),
(NULL,33),
(NULL,36);
SELECT * FROM t1;
pkey a
1 3
2 6
3 9
4 12
6 15
8 18
11 21
21 24
31 27
45 30
55 33
65 36
SET @@auto_increment_offset =150;
SELECT @@auto_increment_offset;
@@auto_increment_offset
150
INSERT INTO t1 VALUES (NULL,39),
(NULL,42),
(NULL,45);
SELECT * FROM t1;
pkey a
1 3
2 6
3 9
4 12
6 15
8 18
11 21
21 24
31 27
45 30
55 33
65 36
84 39
94 42
104 45
SET @@auto_increment_increment = @default_auto_increment_increment;
SET @@auto_increment_offset = @default_auto_increment_offset;
DROP TABLE t1;
# Mixed mode inserts in consecutive lock mode
CREATE TABLE t2( pkey INT NOT NULL AUTO_INCREMENT PRIMARY KEY, bb INT );
INSERT INTO t2 VALUES (NULL,10),
(12,20),
(NULL,30),
(NULL,40),
(40,50),
(NULL,60),
(NULL,70);
SELECT * FROM t2;
pkey bb
1 10
12 20
13 30
14 40
40 50
41 60
42 70
DROP TABLE t2;
# Bulk inserts in consecutive lock mode
CREATE TABLE t3(cc INT);
INSERT INTO t3 VALUES (10),(20),(30),(40),(50),(60),(70),(80);
CREATE TABLE t4(pkey INT NOT NULL AUTO_INCREMENT PRIMARY KEY, cc INT);
INSERT INTO t4(cc) SELECT * FROM t3;
SHOW CREATE TABLE t4;
Table Create Table
t4 CREATE TABLE `t4` (
`pkey` int(11) NOT NULL AUTO_INCREMENT,
`cc` int(11) DEFAULT NULL,
PRIMARY KEY (`pkey`)
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
INSERT INTO t4(cc) SELECT * FROM t3;
SHOW CREATE TABLE t4;
Table Create Table
t4 CREATE TABLE `t4` (
`pkey` int(11) NOT NULL AUTO_INCREMENT,
`cc` int(11) DEFAULT NULL,
PRIMARY KEY (`pkey`)
) ENGINE=InnoDB AUTO_INCREMENT=31 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
DROP TABLE t4;
DROP TABLE t3;
# Concurrent simple inserts in consecutive lock mode
CREATE TABLE t1 (pkey INT NOT NULL AUTO_INCREMENT PRIMARY KEY, bb INT);
CREATE PROCEDURE POP1()
BEGIN
DECLARE i INT DEFAULT 1;
WHILE (i<= 10) DO
INSERT INTO t1 VALUES(NULL,i);
IF ( (i%2) = 0 ) THEN
DELETE FROM t1 WHERE bb=i;
END IF;
SET i = i+1;
END WHILE;
END //
CALL POP1();
CALL POP1();
SELECT COUNT(*) FROM t1;
COUNT(*)
10
SET @@global.auto_increment_offset=10;
SET @@global.auto_increment_increment=25;
TRUNCATE TABLE t1;
CALL POP1();
CALL POP1();
SELECT COUNT(*) FROM t1;
COUNT(*)
10
SET @@global.auto_increment_offset = @default_auto_increment_offset;
SET @@global.auto_increment_increment = @default_auto_increment_increment;
DROP PROCEDURE POP1;
DROP TABLE t1;
# Concurrent bulk inserts in consecutive lock mode
CREATE TABLE t2 (pkey INT NOT NULL AUTO_INCREMENT PRIMARY KEY, aa INT);
CREATE TABLE t1 (aa INT);
CREATE PROCEDURE POP()
BEGIN
DECLARE i INT DEFAULT 1;
WHILE (i <= 10) DO
INSERT INTO t1 VALUES(i);
SET i = i +1;
END WHILE;
INSERT INTO t2(aa) SELECT * FROM t1;
END //
CALL POP();
CALL POP();
SET @@global.auto_increment_offset = 16;
SET @@global.auto_increment_increment = 32;
TRUNCATE TABLE t1;
TRUNCATE TABLE t2;
CALL POP();
CALL POP();
SET @@global.auto_increment_offset = @default_auto_increment_offset;
SET @@global.auto_increment_increment = @default_auto_increment_increment;
DROP PROCEDURE POP;
DROP TABLE t1;
DROP TABLE t2;
# Concurrent mixed mode inserts in consecutive lock mode
CREATE TABLE t1 (pkey INT NOT NULL AUTO_INCREMENT PRIMARY KEY, cc INT);
CREATE PROCEDURE POP2(IN j INT)
BEGIN
DECLARE i INT DEFAULT 1;
WHILE (i<=5) DO
INSERT INTO t1(cc) VALUES(i);
SET i=i+1;
END WHILE;
INSERT INTO t1 VALUES(100+j,20);
WHILE(i>=5 && i<=10) DO
INSERT INTO t1(cc) VALUES(i);
SET i=i+1;
END WHILE;
INSERT INTO t1 VALUES (200+j,25);
WHILE(i>=10 && i<=15) DO
INSERT INTO t1(cc) VALUES(i);
SET i=i+1;
END WHILE;
END //
Warnings:
Warning 1287 '&&' is deprecated and will be removed in a future release. Please use AND instead
Warning 1287 '&&' is deprecated and will be removed in a future release. Please use AND instead
CALL POP2(1);
CALL POP2(70);
SELECT COUNT(*) FROM t1;
COUNT(*)
34
SET @@global.auto_increment_offset = 3;
SET @@global.auto_increment_increment = 4;
TRUNCATE TABLE t1;
CALL POP2(1);
CALL POP2(80);
SELECT COUNT(*) FROM t1;
COUNT(*)
34
SET @@global.auto_increment_offset = @default_auto_increment_offset;
SET @@global.auto_increment_increment = @default_auto_increment_increment;
DROP PROCEDURE POP2;
DROP TABLE t1;
# Transactions in consecutive lock mode
CREATE TABLE t1(pkey INT NOT NULL AUTO_INCREMENT PRIMARY KEY);
START TRANSACTION;
INSERT INTO t1 VALUES (NULL),(NULL),(NULL);
SELECT * FROM t1;
pkey
1
2
3
ROLLBACK;
INSERT INTO t1 VALUES (NULL),(NULL),(NULL);
SELECT * FROM t1;
pkey
4
5
6
DROP TABLE t1;
CREATE TABLE t1(pkey INT NOT NULL AUTO_INCREMENT PRIMARY KEY, aa INT);
CREATE TABLE t2(aa INT);
INSERT INTO t2 VALUES(1),(2),(3),(4),(5),(6),(7);
START TRANSACTION;
INSERT INTO t1(aa) SELECT * FROM t2;
SELECT * FROM t1;
pkey aa
1 1
2 2
3 3
4 4
5 5
6 6
7 7
ROLLBACK;
INSERT INTO t1(aa) SELECT * FROM t2;
SELECT * FROM t1;
pkey aa
8 1
9 2
10 3
11 4
12 5
13 6
14 7
DROP TABLE t1;
DROP TABLE t2;
CREATE TABLE t1(pkey INT NOT NULL AUTO_INCREMENT PRIMARY KEY);
START TRANSACTION;
INSERT INTO t1 VALUES (NULL),(NULL),(NULL),(NULL);
INSERT INTO t1 VALUES (23),(24);
INSERT INTO t1 VALUES (NULL),(NULL),(NULL);
INSERT INTO t1 VALUES (34);
SELECT * FROM t1;
pkey
1
2
3
4
23
24
25
26
27
34
ROLLBACK;
INSERT INTO t1 VALUES (NULL),(NULL),(NULL),(NULL);
INSERT INTO t1 VALUES (23),(24);
INSERT INTO t1 VALUES (NULL),(NULL),(NULL);
INSERT INTO t1 VALUES (34);
SELECT * FROM t1;
pkey
23
24
34
35
36
37
38
39
40
41
DROP TABLE t1;
# Simple, Mixed and Bulk inserts with auto increment offset in default locking mode
SET @@auto_increment_offset = 17;
SET @@auto_increment_increment = 40;
CREATE TABLE t1(pkey INT NOT NULL AUTO_INCREMENT PRIMARY KEY);
START TRANSACTION;
INSERT INTO t1 VALUES (NULL),(NULL),(NULL);
SELECT * FROM t1;
pkey
17
57
97
ROLLBACK;
INSERT INTO t1 VALUES (NULL),(NULL),(NULL);
SELECT * FROM t1;
pkey
137
177
217
DROP TABLE t1;
CREATE TABLE t1(pkey INT NOT NULL AUTO_INCREMENT PRIMARY KEY, aa INT);
CREATE TABLE t2(aa INT);
INSERT INTO t2 VALUES(1),(2),(3),(4),(5),(6),(7);
START TRANSACTION;
INSERT INTO t1(aa) SELECT * FROM t2;
SELECT * FROM t1;
pkey aa
17 1
57 2
97 3
137 4
177 5
217 6
257 7
ROLLBACK;
INSERT INTO t1(aa) SELECT * FROM t2;
SELECT * FROM t1;
pkey aa
297 1
337 2
377 3
417 4
457 5
497 6
537 7
DROP TABLE t1;
DROP TABLE t2;
CREATE TABLE t1(pkey INT NOT NULL AUTO_INCREMENT PRIMARY KEY);
START TRANSACTION;
INSERT INTO t1 VALUES (NULL),(NULL),(NULL),(NULL);
INSERT INTO t1 VALUES (23),(24);
INSERT INTO t1 VALUES (NULL),(NULL),(NULL);
INSERT INTO t1 VALUES (34);
SELECT * FROM t1;
pkey
17
23
24
34
57
97
137
177
217
257
ROLLBACK;
INSERT INTO t1 VALUES (NULL),(NULL),(NULL),(NULL);
INSERT INTO t1 VALUES (23),(24);
INSERT INTO t1 VALUES (NULL),(NULL),(NULL);
INSERT INTO t1 VALUES (34);
SELECT * FROM t1;
pkey
23
24
34
297
337
377
417
457
497
537
DROP TABLE t1;
SET @@auto_increment_offset = @default_auto_increment_offset;
SET @@auto_increment_increment = @default_auto_increment_increment;
# Transactions with concurrency in consecutive locking mode
CREATE TABLE t1 (pkey INT NOT NULL AUTO_INCREMENT PRIMARY KEY, bb INT);
CREATE PROCEDURE POP1()
BEGIN
DECLARE i INT DEFAULT 1;
WHILE (i<= 10) DO
INSERT INTO t1 VALUES(NULL,i);
SET i = i+1;
END WHILE;
END //
START TRANSACTION;
CALL POP1();
CALL POP1();
SELECT COUNT(*) FROM t1;
COUNT(*)
20
ROLLBACK;
CALL POP1();
CALL POP1();
SELECT COUNT(*) FROM t1;
COUNT(*)
30
DROP PROCEDURE POP1;
DROP TABLE t1;
CREATE TABLE t1 (pkey INT NOT NULL AUTO_INCREMENT PRIMARY KEY, cc INT);
CREATE PROCEDURE POP2(IN j INT)
BEGIN
DECLARE i INT DEFAULT 1;
WHILE (i<=5) DO
INSERT INTO t1(cc) VALUES(i);
SET i=i+1;
END WHILE;
INSERT INTO t1 VALUES(100+j,20);
WHILE(i>=5 && i<=10) DO
INSERT INTO t1(cc) VALUES(i);
SET i=i+1;
END WHILE;
INSERT INTO t1 VALUES (200+j,25);
WHILE(i>=10 && i<=15) DO
INSERT INTO t1(cc) VALUES(i);
SET i=i+1;
END WHILE;
END //
Warnings:
Warning 1287 '&&' is deprecated and will be removed in a future release. Please use AND instead
Warning 1287 '&&' is deprecated and will be removed in a future release. Please use AND instead
START TRANSACTION;
CALL POP2(1);
CALL POP2(51);
SELECT COUNT(*) FROM t1;
COUNT(*)
34
ROLLBACK;
CALL POP2(1);
CALL POP2(150);
SELECT COUNT(*) FROM t1;
COUNT(*)
51
DROP PROCEDURE POP2;
DROP TABLE t1;
# Crash server in default locking mode
CREATE TABLE t1(pkey INT NOT NULL AUTO_INCREMENT PRIMARY KEY, aa INT);
CREATE PROCEDURE POP()
BEGIN
DECLARE i INT DEFAULT 1;
WHILE (i <= 10) DO
INSERT INTO t1(aa) VALUES(i);
SET i = i +1;
END WHILE;
END //
START TRANSACTION;
CALL POP();
SET SESSION DEBUG="+d,crash_commit_after";
CR_SERVER_LOST
COMMIT;
ERROR HY000: Lost connection to MySQL server during query
# restart: --innodb_autoinc_lock_mode=1
SELECT COUNT(*) FROM t1;
COUNT(*)
10
START TRANSACTION;
CALL POP();
SET SESSION DEBUG="+d,crash_commit_before";
CR_SERVER_LOST
COMMIT;
ERROR HY000: Lost connection to MySQL server during query
# restart: --innodb_autoinc_lock_mode=1
SELECT COUNT(*) FROM t1;
COUNT(*)
10
TRUNCATE TABLE t1;
SET @@auto_increment_offset = 8;
SET @@auto_increment_increment = 13;
START TRANSACTION;
CALL POP();
SET SESSION DEBUG="+d,crash_commit_after";
CR_SERVER_LOST
COMMIT;
ERROR HY000: Lost connection to MySQL server during query
# restart: --innodb_autoinc_lock_mode=1
SELECT COUNT(*) FROM t1;
COUNT(*)
10
START TRANSACTION;
CALL POP();
SET SESSION DEBUG="+d,crash_commit_before";
CR_SERVER_LOST
COMMIT;
ERROR HY000: Lost connection to MySQL server during query
# restart: --innodb_autoinc_lock_mode=1
SELECT COUNT(*) FROM t1;
COUNT(*)
10
DROP TABLE t1;
DROP PROCEDURE POP;
# Concurrent load inserts in consecutive lock mode
CREATE TABLE loads ( pkey INT PRIMARY KEY AUTO_INCREMENT, ww CHAR(50));
LOAD DATA INFILE '../../std_data/words.dat' INTO TABLE loads(ww);
LOAD DATA INFILE '../../std_data/words.dat' INTO TABLE loads(ww);
SELECT * FROM loads;
pkey ww
1 Aarhus
2 Aaron
3 Ababa
4 aback
5 abaft
6 abandon
7 abandoned
8 abandoning
9 abandonment
10 abandons
11 Aarhus
12 Aaron
13 Ababa
14 aback
15 abaft
16 abandon
17 abandoned
18 abandoning
19 abandonment
20 abandons
21 abase
22 abased
23 abasement
24 abasements
25 abases
26 abash
27 abashed
28 abashes
29 abashing
30 abasing
31 abate
32 abated
33 abatement
34 abatements
35 abater
36 abates
37 abating
38 Abba
39 abbe
40 abbey
41 abbeys
42 abbot
43 abbots
44 Abbott
45 abbreviate
46 abbreviated
47 abbreviates
48 abbreviating
49 abbreviation
50 abbreviations
51 Abby
52 abdomen
53 abdomens
54 abdominal
55 abduct
56 abducted
57 abduction
58 abductions
59 abductor
60 abductors
61 abducts
62 Abe
63 abed
64 Abel
65 Abelian
66 Abelson
67 Aberdeen
68 Abernathy
69 aberrant
70 aberration
128 Aarhus
129 Aaron
130 Ababa
131 aback
132 abaft
133 abandon
134 abandoned
135 abandoning
136 abandonment
137 abandons
138 Aarhus
139 Aaron
140 Ababa
141 aback
142 abaft
143 abandon
144 abandoned
145 abandoning
146 abandonment
147 abandons
148 abase
149 abased
150 abasement
151 abasements
152 abases
153 abash
154 abashed
155 abashes
156 abashing
157 abasing
158 abate
159 abated
160 abatement
161 abatements
162 abater
163 abates
164 abating
165 Abba
166 abbe
167 abbey
168 abbeys
169 abbot
170 abbots
171 Abbott
172 abbreviate
173 abbreviated
174 abbreviates
175 abbreviating
176 abbreviation
177 abbreviations
178 Abby
179 abdomen
180 abdomens
181 abdominal
182 abduct
183 abducted
184 abduction
185 abductions
186 abductor
187 abductors
188 abducts
189 Abe
190 abed
191 Abel
192 Abelian
193 Abelson
194 Aberdeen
195 Abernathy
196 aberrant
197 aberration
SET @@global.auto_increment_offset = 12;
SET @@global.auto_increment_increment = 50;
TRUNCATE TABLE loads;
LOAD DATA INFILE '../../std_data/words.dat' INTO TABLE loads(ww);
LOAD DATA INFILE '../../std_data/words.dat' INTO TABLE loads(ww);
SELECT * FROM loads;
pkey ww
12 Aarhus
62 Aaron
112 Ababa
162 aback
212 abaft
262 abandon
312 abandoned
362 abandoning
412 abandonment
462 abandons
512 Aarhus
562 Aaron
612 Ababa
662 aback
712 abaft
762 abandon
812 abandoned
862 abandoning
912 abandonment
962 abandons
1012 abase
1062 abased
1112 abasement
1162 abasements
1212 abases
1262 abash
1312 abashed
1362 abashes
1412 abashing
1462 abasing
1512 abate
1562 abated
1612 abatement
1662 abatements
1712 abater
1762 abates
1812 abating
1862 Abba
1912 abbe
1962 abbey
2012 abbeys
2062 abbot
2112 abbots
2162 Abbott
2212 abbreviate
2262 abbreviated
2312 abbreviates
2362 abbreviating
2412 abbreviation
2462 abbreviations
2512 Abby
2562 abdomen
2612 abdomens
2662 abdominal
2712 abduct
2762 abducted
2812 abduction
2862 abductions
2912 abductor
2962 abductors
3012 abducts
3062 Abe
3112 abed
3162 Abel
3212 Abelian
3262 Abelson
3312 Aberdeen
3362 Abernathy
3412 aberrant
3462 aberration
6362 Aarhus
6412 Aaron
6462 Ababa
6512 aback
6562 abaft
6612 abandon
6662 abandoned
6712 abandoning
6762 abandonment
6812 abandons
6862 Aarhus
6912 Aaron
6962 Ababa
7012 aback
7062 abaft
7112 abandon
7162 abandoned
7212 abandoning
7262 abandonment
7312 abandons
7362 abase
7412 abased
7462 abasement
7512 abasements
7562 abases
7612 abash
7662 abashed
7712 abashes
7762 abashing
7812 abasing
7862 abate
7912 abated
7962 abatement
8012 abatements
8062 abater
8112 abates
8162 abating
8212 Abba
8262 abbe
8312 abbey
8362 abbeys
8412 abbot
8462 abbots
8512 Abbott
8562 abbreviate
8612 abbreviated
8662 abbreviates
8712 abbreviating
8762 abbreviation
8812 abbreviations
8862 Abby
8912 abdomen
8962 abdomens
9012 abdominal
9062 abduct
9112 abducted
9162 abduction
9212 abductions
9262 abductor
9312 abductors
9362 abducts
9412 Abe
9462 abed
9512 Abel
9562 Abelian
9612 Abelson
9662 Aberdeen
9712 Abernathy
9762 aberrant
9812 aberration
DROP TABLE loads;
# Restart server with innodb_autoinc_lock_mode = 0
# restart: --innodb_autoinc_lock_mode=0
SET @default_auto_increment_offset = @@global.auto_increment_offset;
SET @default_auto_increment_increment = @@global.auto_increment_increment;
SELECT @@global.innodb_autoinc_lock_mode;
@@global.innodb_autoinc_lock_mode
0
# Bulk inserts in traditional lock mode
CREATE TABLE t3(cc INT);
INSERT INTO t3 VALUES (10),(20),(30),(40),(50),(60),(70),(80);
CREATE TABLE t4(pkey INT NOT NULL AUTO_INCREMENT PRIMARY KEY, cc INT);
INSERT INTO t4(cc) SELECT * FROM t3;
SHOW CREATE TABLE t4;
Table Create Table
t4 CREATE TABLE `t4` (
`pkey` int(11) NOT NULL AUTO_INCREMENT,
`cc` int(11) DEFAULT NULL,
PRIMARY KEY (`pkey`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
INSERT INTO t4(cc) SELECT * FROM t3;
SHOW CREATE TABLE t4;
Table Create Table
t4 CREATE TABLE `t4` (
`pkey` int(11) NOT NULL AUTO_INCREMENT,
`cc` int(11) DEFAULT NULL,
PRIMARY KEY (`pkey`)
) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
SELECT * FROM t4;
pkey cc
1 10
2 20
3 30
4 40
5 50
6 60
7 70
8 80
9 10
10 20
11 30
12 40
13 50
14 60
15 70
16 80
DROP TABLE t4;
DROP TABLE t3;
# Concurrent simple inserts in traditional lock mode
CREATE TABLE t1 (pkey INT NOT NULL AUTO_INCREMENT PRIMARY KEY, bb INT);
CREATE PROCEDURE POP1()
BEGIN
DECLARE i INT DEFAULT 1;
WHILE (i<= 10) DO
INSERT INTO t1 VALUES(NULL,i);
IF ((i%2) = 0) THEN
DELETE FROM t1 WHERE bb=i;
END IF;
SET i = i+1;
END WHILE;
END //
CALL POP1();
CALL POP1();
SELECT COUNT(*) FROM t1;
COUNT(*)
10
SET @@global.auto_increment_offset = 30;
SET @@global.auto_increment_increment = 48;
TRUNCATE TABLE t1;
CALL POP1();
CALL POP1();
SELECT COUNT(*) FROM t1;
COUNT(*)
10
SET @@global.auto_increment_offset = @default_auto_increment_offset;
SET @@global.auto_increment_increment = @default_auto_increment_increment;
DROP PROCEDURE POP1;
DROP TABLE t1;
# Concurrent bulk inserts in traditional lock mode
CREATE TABLE t2 (pkey INT NOT NULL AUTO_INCREMENT PRIMARY KEY, aa INT);
CREATE TABLE t1 (aa INT);
CREATE PROCEDURE POP()
BEGIN
DECLARE i INT DEFAULT 1;
WHILE (i <= 10) DO
INSERT INTO t1 VALUES(i);
SET i = i +1;
END WHILE;
INSERT INTO t2(aa) SELECT * FROM t1;
END //
CALL POP();
CALL POP();
SET @@global.auto_increment_offset = 12;
SET @@global.auto_increment_increment = 50;
TRUNCATE TABLE t1;
TRUNCATE TABLE t2;
CALL POP();
CALL POP();
SET @@global.auto_increment_offset = @default_auto_increment_offset;
SET @@global.auto_increment_increment = @default_auto_increment_increment;
DROP PROCEDURE POP;
DROP TABLE t1;
DROP TABLE t2;
# Concurrent mixed mode inserts in traditonal lock mode
CREATE TABLE t1 (pkey INT NOT NULL AUTO_INCREMENT PRIMARY KEY, cc INT);
CREATE PROCEDURE POP2(IN j INT)
BEGIN
DECLARE i INT DEFAULT 1;
WHILE (i<=5) DO
INSERT INTO t1(cc) VALUES(i);
SET i=i+1;
END WHILE;
INSERT INTO t1 VALUES(100+j,20);
WHILE(i>=5 && i<=10) DO
INSERT INTO t1(cc) VALUES(i);
SET i=i+1;
END WHILE;
INSERT INTO t1 VALUES (200+j,25);
WHILE(i>=10 && i<=15) DO
INSERT INTO t1(cc) VALUES(i);
SET i=i+1;
END WHILE;
END //
Warnings:
Warning 1287 '&&' is deprecated and will be removed in a future release. Please use AND instead
Warning 1287 '&&' is deprecated and will be removed in a future release. Please use AND instead
CALL POP2(1);
CALL POP2(50);
SELECT COUNT(*) FROM t1;
COUNT(*)
34
SET @@global.auto_increment_offset = 32;
SET @@global.auto_increment_increment = 100;
TRUNCATE TABLE t1;
CALL POP2(1);
CALL POP2(180);
SELECT COUNT(*) FROM t1;
COUNT(*)
34
SET @@global.auto_increment_offset = @default_auto_increment_offset;
SET @@global.auto_increment_increment = @default_auto_increment_increment;
DROP PROCEDURE POP2;
DROP TABLE t1;
# Transactions in traditional lock mode
CREATE TABLE t1(pkey INT NOT NULL AUTO_INCREMENT PRIMARY KEY);
START TRANSACTION;
INSERT INTO t1 VALUES (NULL),(NULL),(NULL);
ROLLBACK;
INSERT INTO t1 VALUES (NULL),(NULL),(NULL);
SELECT * FROM t1;
pkey
4
5
6
DROP TABLE t1;
CREATE TABLE t1(pkey INT NOT NULL AUTO_INCREMENT PRIMARY KEY, aa INT);
CREATE TABLE t2(aa INT);
INSERT INTO t2 VALUES(1),(2),(3),(4),(5),(6),(7);
START TRANSACTION;
INSERT INTO t1(aa) SELECT * FROM t2;
SELECT * FROM t1;
pkey aa
1 1
2 2
3 3
4 4
5 5
6 6
7 7
ROLLBACK;
INSERT INTO t1(aa) SELECT * FROM t2;
SELECT * FROM t1;
pkey aa
8 1
9 2
10 3
11 4
12 5
13 6
14 7
DROP TABLE t1;
DROP TABLE t2;
CREATE TABLE t1(pkey INT NOT NULL AUTO_INCREMENT PRIMARY KEY);
START TRANSACTION;
INSERT INTO t1 VALUES (NULL),(NULL),(NULL),(NULL);
INSERT INTO t1 VALUES (23),(24);
INSERT INTO t1 VALUES (NULL),(NULL),(NULL);
INSERT INTO t1 VALUES (34);
SELECT * FROM t1;
pkey
1
2
3
4
23
24
25
26
27
34
ROLLBACK;
INSERT INTO t1 VALUES (NULL),(NULL),(NULL),(NULL);
INSERT INTO t1 VALUES (23),(24);
INSERT INTO t1 VALUES (NULL),(NULL),(NULL);
INSERT INTO t1 VALUES (34);
SELECT * FROM t1;
pkey
23
24
34
35
36
37
38
39
40
41
DROP TABLE t1;
# Simple, Mixed and Bulk inserts with auto increment offset in traditional locking mode
SET @@auto_increment_offset = 17;
SET @@auto_increment_increment = 40;
CREATE TABLE t1(pkey INT NOT NULL AUTO_INCREMENT PRIMARY KEY);
START TRANSACTION;
INSERT INTO t1 VALUES (NULL),(NULL),(NULL);
SELECT * FROM t1;
pkey
17
57
97
ROLLBACK;
INSERT INTO t1 VALUES (NULL),(NULL),(NULL);
SELECT * FROM t1;
pkey
137
177
217
DROP TABLE t1;
CREATE TABLE t1(pkey INT NOT NULL AUTO_INCREMENT PRIMARY KEY, aa INT);
CREATE TABLE t2(aa INT);
INSERT INTO t2 VALUES(1),(2),(3),(4),(5),(6),(7);
START TRANSACTION;
INSERT INTO t1(aa) SELECT * FROM t2;
SELECT * FROM t1;
pkey aa
17 1
57 2
97 3
137 4
177 5
217 6
257 7
ROLLBACK;
INSERT INTO t1(aa) SELECT * FROM t2;
SELECT * FROM t1;
pkey aa
297 1
337 2
377 3
417 4
457 5
497 6
537 7
DROP TABLE t1;
DROP TABLE t2;
CREATE TABLE t1(pkey INT NOT NULL AUTO_INCREMENT PRIMARY KEY);
START TRANSACTION;
INSERT INTO t1 VALUES (NULL),(NULL),(NULL),(NULL);
INSERT INTO t1 VALUES (23),(24);
INSERT INTO t1 VALUES (NULL),(NULL),(NULL);
INSERT INTO t1 VALUES (34);
SELECT * FROM t1;
pkey
17
23
24
34
57
97
137
177
217
257
ROLLBACK;
INSERT INTO t1 VALUES (NULL),(NULL),(NULL),(NULL);
INSERT INTO t1 VALUES (23),(24);
INSERT INTO t1 VALUES (NULL),(NULL),(NULL);
INSERT INTO t1 VALUES (34);
SELECT * FROM t1;
pkey
23
24
34
297
337
377
417
457
497
537
DROP TABLE t1;
SET @@auto_increment_offset = @default_auto_increment_offset;
SET @@auto_increment_increment = @default_auto_increment_increment;
# Transactions with concurrency in traditional locking mode
CREATE TABLE t1 (pkey INT NOT NULL AUTO_INCREMENT PRIMARY KEY, bb INT);
CREATE PROCEDURE POP1()
BEGIN
DECLARE i INT DEFAULT 1;
WHILE (i<= 10) DO
INSERT INTO t1 VALUES(NULL,i);
SET i = i+1;
END WHILE;
END //
START TRANSACTION;
CALL POP1();
CALL POP1();
SELECT COUNT(*) FROM t1;
COUNT(*)
20
ROLLBACK;
CALL POP1();
CALL POP1();
SELECT COUNT(*) FROM t1;
COUNT(*)
30
DROP PROCEDURE POP1;
DROP TABLE t1;
CREATE TABLE t1 (pkey INT NOT NULL AUTO_INCREMENT PRIMARY KEY, cc INT);
CREATE PROCEDURE POP2(IN j INT)
BEGIN
DECLARE i INT DEFAULT 1;
WHILE (i<=5) DO
INSERT INTO t1(cc) VALUES(i);
SET i=i+1;
END WHILE;
INSERT INTO t1 VALUES(100+j,20);
WHILE(i>=5 && i<=10) DO
INSERT INTO t1(cc) VALUES(i);
SET i=i+1;
END WHILE;
INSERT INTO t1 VALUES (200+j,25);
WHILE(i>=10 && i<=15) DO
INSERT INTO t1(cc) VALUES(i);
SET i=i+1;
END WHILE;
END //
Warnings:
Warning 1287 '&&' is deprecated and will be removed in a future release. Please use AND instead
Warning 1287 '&&' is deprecated and will be removed in a future release. Please use AND instead
START TRANSACTION;
CALL POP2(1);
CALL POP2(120);
SELECT COUNT(*) FROM t1;
COUNT(*)
34
ROLLBACK;
CALL POP2(1);
CALL POP2(280);
SELECT COUNT(*) FROM t1;
COUNT(*)
51
DROP PROCEDURE POP2;
DROP TABLE t1;
# Crash server in traditional locking mode
CREATE TABLE t1(pkey INT NOT NULL AUTO_INCREMENT PRIMARY KEY, aa INT);
CREATE PROCEDURE POP()
BEGIN
DECLARE i INT DEFAULT 1;
WHILE (i <= 10) DO
INSERT INTO t1(aa) VALUES(i);
SET i = i +1;
END WHILE;
END //
START TRANSACTION;
CALL POP();
# Connection 1
INSERT INTO t1(aa) VALUES (20);
# Switch back to default connection
SET SESSION DEBUG="+d,crash_commit_after";
CR_SERVER_LOST
COMMIT;
ERROR HY000: Lost connection to MySQL server during query
# restart: --innodb_autoinc_lock_mode=0
SELECT COUNT(*) FROM t1;
COUNT(*)
11
START TRANSACTION;
CALL POP();
# Connection 1
INSERT INTO t1(aa) VALUES (20);
# Switch back to default connection
SET SESSION DEBUG="+d,crash_commit_before";
CR_SERVER_LOST
COMMIT;
ERROR HY000: Lost connection to MySQL server during query
# restart: --innodb_autoinc_lock_mode=0
SELECT COUNT(*) FROM t1;
COUNT(*)
12
TRUNCATE TABLE t1;
SET @@auto_increment_offset = 15;
SET @@auto_increment_increment = 30;
START TRANSACTION;
CALL POP();
# Connection 1
SET @@auto_increment_offset = 15;
SET @@auto_increment_increment = 30;
INSERT INTO t1(aa) VALUES (20);
# Switch back to default connection
SET SESSION DEBUG="+d,crash_commit_after";
CR_SERVER_LOST
COMMIT;
ERROR HY000: Lost connection to MySQL server during query
# restart: --innodb_autoinc_lock_mode=0
SELECT COUNT(*) FROM t1;
COUNT(*)
11
SET @@auto_increment_offset = 15;
SET @@auto_increment_increment = 30;
START TRANSACTION;
CALL POP();
# Connection 1
SET @@auto_increment_offset = 15;
SET @@auto_increment_increment = 30;
INSERT INTO t1(aa) VALUES (20);
# Switch back to default connection
SET SESSION DEBUG="+d,crash_commit_before";
CR_SERVER_LOST
COMMIT;
ERROR HY000: Lost connection to MySQL server during query
# restart: --innodb_autoinc_lock_mode=0
SELECT COUNT(*) FROM t1;
COUNT(*)
12
DROP TABLE t1;
DROP PROCEDURE POP;
# Concurrent load inserts in traditional lock mode
CREATE TABLE loads ( pkey INT PRIMARY KEY AUTO_INCREMENT, ww CHAR(50));
LOAD DATA INFILE '../../std_data/words.dat' INTO TABLE loads(ww);
LOAD DATA INFILE '../../std_data/words.dat' INTO TABLE loads(ww);
SELECT * FROM loads;
pkey ww
1 Aarhus
2 Aaron
3 Ababa
4 aback
5 abaft
6 abandon
7 abandoned
8 abandoning
9 abandonment
10 abandons
11 Aarhus
12 Aaron
13 Ababa
14 aback
15 abaft
16 abandon
17 abandoned
18 abandoning
19 abandonment
20 abandons
21 abase
22 abased
23 abasement
24 abasements
25 abases
26 abash
27 abashed
28 abashes
29 abashing
30 abasing
31 abate
32 abated
33 abatement
34 abatements
35 abater
36 abates
37 abating
38 Abba
39 abbe
40 abbey
41 abbeys
42 abbot
43 abbots
44 Abbott
45 abbreviate
46 abbreviated
47 abbreviates
48 abbreviating
49 abbreviation
50 abbreviations
51 Abby
52 abdomen
53 abdomens
54 abdominal
55 abduct
56 abducted
57 abduction
58 abductions
59 abductor
60 abductors
61 abducts
62 Abe
63 abed
64 Abel
65 Abelian
66 Abelson
67 Aberdeen
68 Abernathy
69 aberrant
70 aberration
71 Aarhus
72 Aaron
73 Ababa
74 aback
75 abaft
76 abandon
77 abandoned
78 abandoning
79 abandonment
80 abandons
81 Aarhus
82 Aaron
83 Ababa
84 aback
85 abaft
86 abandon
87 abandoned
88 abandoning
89 abandonment
90 abandons
91 abase
92 abased
93 abasement
94 abasements
95 abases
96 abash
97 abashed
98 abashes
99 abashing
100 abasing
101 abate
102 abated
103 abatement
104 abatements
105 abater
106 abates
107 abating
108 Abba
109 abbe
110 abbey
111 abbeys
112 abbot
113 abbots
114 Abbott
115 abbreviate
116 abbreviated
117 abbreviates
118 abbreviating
119 abbreviation
120 abbreviations
121 Abby
122 abdomen
123 abdomens
124 abdominal
125 abduct
126 abducted
127 abduction
128 abductions
129 abductor
130 abductors
131 abducts
132 Abe
133 abed
134 Abel
135 Abelian
136 Abelson
137 Aberdeen
138 Abernathy
139 aberrant
140 aberration
SET @@global.auto_increment_offset = 12;
SET @@global.auto_increment_increment = 50;
TRUNCATE TABLE loads;
LOAD DATA INFILE '../../std_data/words.dat' INTO TABLE loads(ww);
LOAD DATA INFILE '../../std_data/words.dat' INTO TABLE loads(ww);
SELECT * FROM loads;
pkey ww
12 Aarhus
62 Aaron
112 Ababa
162 aback
212 abaft
262 abandon
312 abandoned
362 abandoning
412 abandonment
462 abandons
512 Aarhus
562 Aaron
612 Ababa
662 aback
712 abaft
762 abandon
812 abandoned
862 abandoning
912 abandonment
962 abandons
1012 abase
1062 abased
1112 abasement
1162 abasements
1212 abases
1262 abash
1312 abashed
1362 abashes
1412 abashing
1462 abasing
1512 abate
1562 abated
1612 abatement
1662 abatements
1712 abater
1762 abates
1812 abating
1862 Abba
1912 abbe
1962 abbey
2012 abbeys
2062 abbot
2112 abbots
2162 Abbott
2212 abbreviate
2262 abbreviated
2312 abbreviates
2362 abbreviating
2412 abbreviation
2462 abbreviations
2512 Abby
2562 abdomen
2612 abdomens
2662 abdominal
2712 abduct
2762 abducted
2812 abduction
2862 abductions
2912 abductor
2962 abductors
3012 abducts
3062 Abe
3112 abed
3162 Abel
3212 Abelian
3262 Abelson
3312 Aberdeen
3362 Abernathy
3412 aberrant
3462 aberration
3512 Aarhus
3562 Aaron
3612 Ababa
3662 aback
3712 abaft
3762 abandon
3812 abandoned
3862 abandoning
3912 abandonment
3962 abandons
4012 Aarhus
4062 Aaron
4112 Ababa
4162 aback
4212 abaft
4262 abandon
4312 abandoned
4362 abandoning
4412 abandonment
4462 abandons
4512 abase
4562 abased
4612 abasement
4662 abasements
4712 abases
4762 abash
4812 abashed
4862 abashes
4912 abashing
4962 abasing
5012 abate
5062 abated
5112 abatement
5162 abatements
5212 abater
5262 abates
5312 abating
5362 Abba
5412 abbe
5462 abbey
5512 abbeys
5562 abbot
5612 abbots
5662 Abbott
5712 abbreviate
5762 abbreviated
5812 abbreviates
5862 abbreviating
5912 abbreviation
5962 abbreviations
6012 Abby
6062 abdomen
6112 abdomens
6162 abdominal
6212 abduct
6262 abducted
6312 abduction
6362 abductions
6412 abductor
6462 abductors
6512 abducts
6562 Abe
6612 abed
6662 Abel
6712 Abelian
6762 Abelson
6812 Aberdeen
6862 Abernathy
6912 aberrant
6962 aberration
DROP TABLE loads;