sql >> Databasteknik >  >> RDS >> Mysql

FOREIGN KEY refererar till samma tabells kolumn. Det går inte att infoga värden

För alla dina behov bör du ta denna 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 visar infogning och borttagning av en överordnad nod

Den magiska släppdelen för alla barn görs av ON DELETE CASCADE



  1. mysql-connector-java för mysql 5.6

  2. .NET databas anrop långsamt när du använder COM Interop, snabbt via frågeanalysator

  3. Introduktion till SQL Joins

  4. Visa datum som 30-04-2020 istället för 2020-04-30 från mysql-databas med javascript