[ON DELETE {RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT}] [ON UPDATE {RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT}] 该语法可以在 CREATE TABLE 和 ALTER TABLE 时使用,如果不指定CONSTRAINT symbol,MYSQL会自动生成一个名字。 ON DELETE、ON UPDATE表示事件触发限制,可设...
删除:alter table 表名 drop foreign key 外键名 注意:设置了外键的表是从表,它关联的表被称为主表;给从表插入数据时,插入数据必须是主表的被关联字段出现的数据;先建主表再建从表;先删从表再删主表。 2.级联操作 on delete cascade:主表中的数据被删,从表中相关数据也会被删 on update cascade:主表...
为了实现"mysql delete 同时删除关联的外键"的功能,我们需要设置外键约束的级联动作为"ON DELETE CASCADE"。这样,当删除主表中的记录时,会自动删除与其关联的外键表中的相关记录。 示例代码: -- 设置外键约束的级联动作ALTERTABLEforeign_tableADDCONSTRAINTfk_main_idFOREIGNKEY(main_id)REFERENCESmain_table(id)ONDEL...
ALTERTABLEtbl_name ADD[CONSTRAINT 外键名]FOREIGN KEY(子表字段)REFERENCES 父表名(父表主键); 1. 删除外键约束:通过外键名称删除 ALTERTABLEtbl_nameDROPFOREIGN KEY 外键名; 1. 三、级联操作 创建外键时,允许父子表之间有所联系(更新/删除) 格式在上面其实已经介绍过了 ondelete{casca...
前一种情况,在外键定义中,我们使用ON UPDATE CASCADE ON DELETE RESTRICT;后一种情况,可以使用ON UPDATE CASCADE ON DELETE CASCADE。 InnoDB允许你使用ALTER TABLE在一个已经存在的表上增加一个新的外键: ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] FOREIGN KEY [index_name] (index_col_name, ...) RE...
alter table emp add constraint fk_emp_dept_id foreignkey(dept_id)referencesdept(id)on updatesetnullondeletesetnull; 测试: 删除dept表中的第一行,然后刷新,我们可以看到emp表中的id为1的数据全部置为null了。 通过图形化界面创建 选中预修改的表,然后点击modify table,再点击foreign keys ,双击命令,我们可以...
修改外键约束:将外键约束的ON DELETE子句修改为CASCADE、SET NULL或SET DEFAULT,以允许删除操作。 手动删除子表记录:在删除父表记录之前,先手动删除子表中与之相关的记录。 示例代码(修改外键约束): 代码语言:txt 复制 ALTER TABLE child DROP FOREIGN KEY fk_child_parent; ALTER TABLE child ADD FOREIGN KEY (...
[ON UPDATE {RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT}] 该语法可以在 CREATE TABLE 和 ALTER TABLE 时使用,如果不指定CONSTRAINT symbol,MYSQL会自动生成一个名字。 ON DELETE、ON UPDATE表示事件触发限制,可设参数: RESTRICT(限制外表中的外键改动) ...
ALTER TABLE 表名 MODIFY 字段名 类型 #相当于重置了一下 MySQL8.0中,自增变量具有持久化——删除之后,计数器没有变 比如:当前是5,删除5这条记录的之后,重启服务器,再次添加数据,就是6,而不是5。 FOREIGN KEY约束 外键约束 外键约束会涉及到主表和从表 ...