删除 ON DELETE CASCADE

Rag*_*hav 8 sql cascade constraints alter

我有一张儿童桌。在创建表时使用 ON DELETE CASCADE 和外键。

子表或父表中都没有记录。

我希望主键和外键保持原样,但只想从子表中删除 CASCADING 选项。

无论如何我可以改变那个子表。

谢谢你。

Dan*_*iel 5

桌子:

显示创建表表;
CREATE TABLE `table` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `id_departamento` int(11) unsigned DEFAULT NULL,
  `name` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL,
  PRIMARY KEY (`id`),
  KEY `id_departamento` (`id_departamento`),
  CONSTRAINT `departamentos_direcciones_pedidos_ibfk_1` FOREIGN KEY (`id_departamento`) REFERENCES `departamentos` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
Run Code Online (Sandbox Code Playgroud)
  1. 首先删除外键。
更改表departamentos_direcciones_pedidos 删除约束departamentos_direcciones_pedidos_ibfk_1;
  1. 二、创建正确的外键
更改表 departamentos_direcciones_pedidos 添加外键 (id_departamento) 引用 departamentos(id);


knk*_*k24 3

ON DELETE { NO ACTION | CASCADE | SET NULL | SET DEFAULT }
Run Code Online (Sandbox Code Playgroud)

默认为“无操作”。

因此,请尝试将您的子表更改回默认值。