Nếu bạn tạo t2 như thế này, nó hoạt động tốt:
CREATE TABLE `t2` (
`id` bigint(20) unsigned NOT NULL,
`data2` text,
PRIMARY KEY (`id`),
CONSTRAINT `FK_t2_1` FOREIGN KEY (`id`) REFERENCES `t1` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
ETA, để trả lời cho những lo lắng về mã xấu, bên dưới cũng hoạt động:
CREATE TABLE t2 (
id bigint(20) unsigned NOT NULL PRIMARY KEY,
data2 text,
CONSTRAINT FOREIGN KEY (id) REFERENCES t1(id) ON DELETE CASCADE
) ENGINE=InnoDB ;
Sự khác biệt chính là kiểu dữ liệu cho t2.id phải khớp với kiểu của t1.id và các ràng buộc phải được khai báo sau các cột.