亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

mysql中外鍵如何使用?

mysql中外鍵如何使用?

慕無忌1623718 2018-12-20 19:15:56
create table BulletinInfo(bulletinId int primary key auto_increment not null, bulletintitle varchar(100) not null, bulletincontent text not null, userId int foreign key(userId) references UserInfo(userId), bulletincreateTime datetime default(getdate()) not null )這是我建 的表,系統報ERROR 1064 (42000): You have an error in your SQL syntax; check the manual thatcorresponds to your MySQL server version for the right syntax to use near 'foreign key(userId) references UserInfo(userId),bulletincreateTime datetime ' at line 5請問應該怎么改?
查看完整描述

1 回答

?
冉冉說

TA貢獻1877條經驗 獲得超1個贊

1、只有InnoDB類型的表才可以使用外鍵。mysql默認是MyISAM,這種類型不支持外鍵約束

2、外鍵的好處:可以使得兩張表關聯,保證數據的一致性和實現一些級聯操作。

3、外鍵的作用:

保持數據一致性,完整性,主要目的是控制存儲在外鍵表中的數據。 使兩張表形成關聯,外鍵只能引用外表中的列的值。

4、建立外鍵的前提:

兩個表必須是InnoDB表類型。
使用在外鍵關系的域必須為索引型(Index)。
使用在外鍵關系的域必須與數據類型相似。

5、創建的步驟

指定主鍵關鍵字: foreign key(列名)。

引用外鍵關鍵字: references <外鍵表名>(外鍵列名)。

6、事件觸發限制:on delete和on update , 可設參數cascade(跟隨外鍵改動)。
restrict(限制外表中的外鍵改動),set
Null(設空值),set Default(設默認值)。
[默認]no action

7、舉例

outTable表 主鍵 id 類型 int

創建含有外鍵的表:

代碼如下:
create table temp(
id int,
name
char(20),
foreign key(id) references outTable(id) on delete cascade on update
cascade);

說明:把id列 設為外鍵 參照外表outTable的id列 當外鍵的值刪除 本表中對應的列篩除 當外鍵的值改變 本表中對應的列值改變。

代碼如下:
create table temp( id int, name char(20),
foreign key(id) references outTable(id) on delete cascade on update
cascade);



查看完整回答
反對 回復 2019-01-05
  • 1 回答
  • 0 關注
  • 503 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號