@@ -2455,17 +2455,30 @@ drop table t1,t2;
2455
2455
CREATE TABLE t1 (
2456
2456
id INTEGER NOT NULL AUTO_INCREMENT, PRIMARY KEY (id)
2457
2457
) ENGINE=InnoDB;
2458
+ CREATE TABLE t2 (
2459
+ id INTEGER NOT NULL,
2460
+ FOREIGN KEY (id) REFERENCES t1 (id)
2461
+ ) ENGINE=InnoDB;
2458
2462
INSERT INTO t1 (id) VALUES (NULL);
2459
2463
SELECT * FROM t1;
2460
2464
id
2461
2465
1
2462
2466
TRUNCATE t1;
2467
+ ERROR 42000: Cannot truncate a table referenced in a foreign key constraint (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`id`) REFERENCES `test`.`t1` (`id`))
2463
2468
INSERT INTO t1 (id) VALUES (NULL);
2464
2469
SELECT * FROM t1;
2465
2470
id
2466
2471
1
2472
+ 2
2467
2473
DELETE FROM t1;
2468
2474
TRUNCATE t1;
2475
+ ERROR 42000: Cannot truncate a table referenced in a foreign key constraint (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`id`) REFERENCES `test`.`t1` (`id`))
2476
+ INSERT INTO t1 (id) VALUES (NULL);
2477
+ SELECT * FROM t1;
2478
+ id
2479
+ 3
2480
+ DROP TABLE t2;
2481
+ TRUNCATE t1;
2469
2482
INSERT INTO t1 (id) VALUES (NULL);
2470
2483
SELECT * FROM t1;
2471
2484
id
@@ -2481,7 +2494,7 @@ id INT NOT NULL PRIMARY KEY,
2481
2494
b INT,
2482
2495
FOREIGN KEY (b) REFERENCES test.t1(id)
2483
2496
) ENGINE=InnoDB;
2484
- Got one of the listed errors
2497
+ ERROR HY000: Can't create table `test`.`t2` (errno: 150 "Foreign key constraint is incorrectly formed")
2485
2498
DROP TABLE t1;
2486
2499
create table t1 (col1 varchar(2000), index (col1(767)))
2487
2500
character set = latin1 engine = innodb;
@@ -2574,7 +2587,7 @@ INSERT INTO t2 VALUES(1);
2574
2587
DELETE FROM t1 WHERE id = 1;
2575
2588
ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `c1` FOREIGN KEY (`v`) REFERENCES `t1` (`id`))
2576
2589
DROP TABLE t1;
2577
- Got one of the listed errors
2590
+ ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `c1` FOREIGN KEY (`v`) REFERENCES `t1` (`id`))
2578
2591
SET FOREIGN_KEY_CHECKS=0;
2579
2592
DROP TABLE t1;
2580
2593
SET FOREIGN_KEY_CHECKS=1;
@@ -3089,8 +3102,8 @@ a BIGINT(20) NOT NULL,
3089
3102
b VARCHAR(128) NOT NULL,
3090
3103
c TEXT NOT NULL,
3091
3104
PRIMARY KEY (a,b),
3092
- KEY idx_t2_b_c (b,c(200 )),
3093
- CONSTRAINT t_fk FOREIGN KEY (a) REFERENCES t1 (a)
3105
+ KEY idx_t2_b_c (b,c(100 )),
3106
+ CONSTRAINT t_fk FOREIGN KEY (a) REFERENCES t1 (a)
3094
3107
ON DELETE CASCADE
3095
3108
) ENGINE=INNODB DEFAULT CHARSET=UTF8;
3096
3109
INSERT INTO t1 VALUES (1);
0 commit comments