springboot入門:mysql添加外鍵,約束

1  一對一的關係,一對多的關係

存在用戶表和博文表,一個用戶有多個博文,一個博文由一個用戶發表,則是一對多的關係

創建用戶表user

user表有uid, name, sex 等信息

創建博文表blog

blog表有bid, title, content ,uId

blog表中的uId對應的是user表的uid

如果SQL語句創建,則可以直接對uId添加外鍵屬性,如果可視化創建表,則建表後再對外鍵進行約束

SQL語句:

alter table blog add foreign key(uId) references user(uid);

alter table 從表 add foreign key(從表外鍵) references 主表(主表id);

如果出現錯誤,可以看看是否因爲主表的id設置了unSigned,這裏要設置兩個id unSigned屬性統一

 

2  下面新建一張表,用戶收藏博文的表(b_collect),總共三個字段,id, uId, bId ,用於存放用戶id,博文id

因爲用戶表和博文表id使用了unsigned屬性,所以創建該表時也需要統一

create table b_collect(
     id int  auto_increment primary key,
     bid int unsigned  ,
     uid int unsigned ,
     foreign key(bid) references blog(bid),
     foreign key(uid) references user(uid)
)

unsigned是指int類型不爲負數,如果不指定,則int類型從負數開始,指定後int類型大小可以增加一倍

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章