在SQL中,创建外键约束的基本语法如下:
ALTER TABLEchild_table ADD FOREIGNKEY(column_name) REFERENCESparent_table(column_name);
其中:
child_table
是包含外键列的表。column_name
是child_table
中的外键列。parent_table
是包含被引用的主键列的表。column_name
是parent_table
中的主键列。
你还可以指定ONDELETE
和ONUPDATE
动作来定义当被引用的记录被删除或更新时,应该如何处理子表中的外键列:
ALTER TABLEchild_table ADD FOREIGNKEY(column_name) REFERENCESparent_table(column_name) ON DELETE SET NULL; --当父表记录被删除时,子表的外键列设为NULL ON DELETE SET DEFAULT; --当父表记录被删除时,子表的外键列设为默认值
或者:
ALTER TABLEchild_table ADD FOREIGNKEY(column_name) REFERENCESparent_table(column_name) ON DELETEACTION1 ON UPDATEACTION2; --ACTION1和ACTION2可以是SETNULL,SETDEFAULT,CASCADE,RESTRICT等