設定完外來鍵後,突然想起來應該不應該設成on delete cascade on update cascade的應該是set null的所以就寫篇文章記錄一下這個錯誤。
一般來說只要先刪除外來鍵
alter table 表名 drop foreign key 約束名;
然後再建立外來鍵約束就好了:
alter table sc add constraint foreign_sc_course foreign key(cno) refernces course(cno) on delete set null on update cascade;
然而問題來了我定義外來鍵的時候沒有定義約束名,沒有定義約束名,沒有定義約束名。
最後發現
show create table sc;
| sc | create table `sc` (
`cno` char(1) not null,
`sno` char(4) not null,
`grade` int(11) default null,
primary key (`cno`,`sno`),
constraint `scc` foreign key (`cno`) references `course` (`cno`) on delete cascade on update cascade
) engine=innodb default charset=utf8 |
接下來就照上面的做就好了。 oracle 外來鍵修改
場景 有時候我們經常需要修改一下資料,但是這個字段關聯著外來鍵,這個時候我們需要首先清楚外來鍵所在的表的數值,然後再修改這個字段值。這時候我們就需要外來鍵查詢了。錯誤如下 根據所報的錯誤,我們查詢資料庫 select from dba constraints t where t.constraint...
mysql設定外來鍵 mysql怎麼增加外來鍵
mysql增加外來鍵的方法 1 在create table語句中,通過foreign key關鍵字來新增外來鍵 2 在alter table語句中,通過add和foreign key關鍵字來新增外來鍵。mysql 外來鍵約束 foreign key 是表的乙個特殊字段,經常與主鍵約束一起使用。對於兩...
mysql怎麼定義外來鍵
建立外來鍵的前提 本表的列必須與外來鍵型別相同 外來鍵必須是外表主鍵 外來鍵作用 使兩張表形成關聯,外來鍵只能引用外表中的列的值!指定主鍵關鍵字 foreign key 列名 引用外來鍵關鍵字 references 外來鍵表名 外來鍵列名 事件觸發限制 on delete和on update 可設引...