Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

FOREIGN KEY tham chiếu cùng một cột của bảng. Không thể chèn giá trị

Đối với tất cả các nhu cầu của bạn, bạn nên sử dụng cấu trúc này

CREATE TABLE `menus` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `parent_id` int(11) unsigned DEFAULT NULL,
  `label` varchar(255) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
  KEY `fk_parent_menu` (`parent_id`),
  CONSTRAINT `fk_parent_menu` FOREIGN KEY (`parent_id`) 
    REFERENCES `menus` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
);

SQL Fiddle DEMO

Bản trình diễn hiển thị việc chèn và xóa nút cha

Phần thả ảo thuật dành cho tất cả các em được thực hiện bởi ON DELETE CASCADE



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để kiểm tra xem một kết nối MySQL có được mã hóa SSL hay không?

  2. mysql_upgrade không thành công - bảng innodb không tồn tại?

  3. SQL Chỉ chọn các hàng có giá trị tối thiểu trên cột có điều kiện ở đâu

  4. Làm thế nào để viết truy vấn bên trong trả về thông báo mới nhất cho một người dùng nhất định?

  5. Tắt ONLY_FULL_GROUP_BY