sql >> Databáze >  >> RDS >> Mysql

FOREIGN KEY odkazuje na stejný sloupec tabulky. Nelze vložit hodnoty

Pro všechny vaše potřeby byste měli vzít tuto strukturu

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

Demo ukazuje vkládání a mazání nadřazeného uzlu

Část kouzelné kapky pro všechny děti se provádí pomocí ON DELETE CASCADE



  1. Jak zapnout/vypnout přísný režim MySQL v localhost (xampp)?

  2. Jak nastavit AUTO_INCREMENT v Laravel s Eloquent?

  3. Jak nainstalovat drahokam pg PostgreSQL na Ubuntu?

  4. Analyzujte JSON na mySQL