sql >> Database teknologi >  >> RDS >> Mysql

FOREIGN KEY refererer til samme tabels kolonne. Kan ikke indsætte værdier

Til alle dine behov bør du tage denne 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
);

SQL Fiddle DEMO

Demo viser indsættelse og sletning af en overordnet node

Den magiske drop-del for alle børn udføres af ON DELETE CASCADE



  1. Forstå SQL Server ÆNDRINGSTABEL TILFØJ KOLONNE-erklæring

  2. SQLite Venstre Join

  3. Hvornår skal jeg bruge semikolon i SQL Server?

  4. Hvordan genererer man en række tal mellem to tal?