Mysql
 sql >> Baza danych >  >> RDS >> Mysql

FOREIGN KEY odwołuje się do kolumny tej samej tabeli. Nie można wstawić wartości

Dla wszystkich Twoich potrzeb powinieneś wziąć tę strukturę

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
);

DEMO SQL Fiddle

Demo pokazuje wstawianie i usuwanie węzła nadrzędnego

Magiczną część upuszczania dla wszystkich dzieci wykonuje 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. Czy możliwe jest utworzenie kolumny w MySQL z wyrażeniem jako wartością domyślną?

  2. usuń znaki specjalne w php

  3. Jakie znaczenie ma znak zapytania w MySQL w kolumnie WHERE =??

  4. Jak uzyskać listę przedmieść otaczających lokalizację, a następnie powtórzyć dla innych lokalizacji za pomocą MySql?

  5. SQL Random wiersze w dużej tabeli (z klauzulą ​​where)