CONSTRAINT`s_id`FOREIGN KEY (`student_id`) REFERENCES`student`(`id`) ) 3 更改事件触发限制为 CASCADE #删除旧的外键 ALTERTABLEstudent_scoreDROPFOREIGNKEY s_id; #添加新的外键,修改事件触发限制为 CASCADE ALTERTABLEstudent_score AD
CREATETABLEusers(idINTPRIMARYKEY,nameVARCHAR(50));CREATETABLEorders(idINTPRIMARYKEY,user_idINT,FOREIGNKEY(user_id)REFERENCESusers(id)ONDELETECASCADE);INSERTINTOusersVALUES(1,'Alice');INSERTINTOordersVALUES(1,1);DELETEFROMusersWHEREid=1;-- 此时将会自动删除orders表中相关联的记录 1. 2. 3. 4. 5...
如果子表试图创建一个在父表中不存在的外键值,InnoDB会拒绝任何INSERT或UPDATE操作。如果父表试图UPDATE或者DELETE任何子 表中存在或匹配的外键值,最终动作取决于外键约束定义中的ON UPDATE和ON DELETE选项。InnoDB支持5种不同的动作,如果没有指定ON DELETE或者ON UPDATE,默认的动作为RESTRICT也就是我们上面的例子 casc...
这种需求可以通过ON DELETE CASCADE实现。 示例代码:创建带有ON DELETE CASCADE的外键约束 CREATETABLEcustomers(idINTPRIMARYKEY,nameVARCHAR(100)NOTNULL);CREATETABLEorders(idINTPRIMARYKEY,order_dateDATENOTNULL,amountDECIMAL(10,2)NOTNULL,customer_idINT,FOREIGNKEY(customer_id)REFERENCEScustomers(id)ONDELETECASCADE...
mysql> alter table itcast_student add foreign key (class_id) references itcast_class (class_id)on delete set null; on delete set null:表示删除时,将从表外键设置为null (3)接下来我们删除数据,观察级联操作(set null): (4)删除数据,观察级联操作(cascade): ...
添加级联操作:ALTER TABLE 表名称 ADD CONSTRAINT 外键名称 FOREIGN KEY (外键字段名称) REFERENCES 主表名称(主表列名称) ON UPDATE CASCADE ON DELETE CASCADE ; 分类:级联更新 ON UPDATE CASCADE 级联删除 ON DELETE CASCADE
前一种情况,在外键定义中,我们使用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 orders DROP FOREIGN KEY fk_customer_id, ADD CONSTRAINT fk_customer_id FOREIGN KEY (customer_id) REFERENCES customers(id) ON DELETE CASCADE; 修改外键列 如果需要修改外键列的数据类型或其他属性,可以先删除外键约束,然后修改列,最后重新添加外键约束。例如,将orders表中的customer_id列的数据类型...
ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY (外键字段) REFERENCES 主表名(主表字段名) ON UPDATE CASCADE ON DELETE CASCADE; 演示: alter table staff add constraint fk_staff_dept_id foreign key (dept_id) references depy(id) on update cascade on delete cascade; alter table staff add ...
命令格式:[CONSTRAINT [symbol]] FOREIGN KEY[index_name] (col_name, …)REFERENCES tbl_name (col_name,…)[ON DELETE reference_option][ON UPDATE reference_option]reference_option:RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT 以上是完整的官方命令格式,看着都晕呀。[CONSTRAINT <外键名...