91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL保證多字段唯一的方法

發布時間:2020-08-25 14:28:44 來源:億速云 閱讀:209 作者:小新 欄目:MySQL數據庫

這篇文章將為大家詳細講解有關MySQL保證多字段唯一的方法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

mysql中有些表有時需要做一些字段的唯一約束,當然你也可以在insert前判斷有無的方式來防止重復,如果不想額外增加代碼來更靈活的實現一些字段的唯一約束,mysql提供了兩種方式:

MySQL保證多字段唯一的方法

1.unique key

alter table xx

add unique key no_account(no,collection_account)

2.unique index

alter table xxadd unique no_account_index(no,collection_account);

假設有一個需求是用戶給評論點贊,數據庫設計是三張表,用戶表t_user,評論表t_comment,點贊表t_praise,其中點贊表中有兩個外鍵分別是user_id和comment_id,分別關聯用戶表的用戶id和評論表的評論id,然后規定一個用戶只能給同一條評論點贊一次,有一種實現方式就是在插入點贊表之前,先通過user_id和comment_id查詢是否有點贊記錄,如果沒有的話,再執行插入操作,否則返回您已經點過贊了.這樣實現的話就會多一次數據庫查詢操作.更好的實現是,修改點贊表的user_id和comment_id為唯一約束,即這兩列不能同時相同,這樣在執行插入操作的話,如果已經點過贊了,數據庫會拋出違反了唯一鍵約束,這樣的話,就可以避免多一次數據庫查詢操作了.具體設置多列為唯一約束的語句是:

CREATE TABLE `t_praise` (
  `id` int(12) unsigned NOT NULL AUTO_INCREMENT,
  `comment_id` int(12) NOT NULL,
  `user_id` int(12) NOT NULL,
  KEY `FK_t_praise_comment` (`comment_id`),
  KEY `FK_t_praise_user` (`user_id`),
  UNIQUE KEY `UK_praise` (`comment_id`,`user_id`)

)

關于MySQL保證多字段唯一的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

稻城县| 吴忠市| 灵武市| 台安县| 长治市| 永嘉县| 岚皋县| 纳雍县| 新宁县| 龙江县| 马龙县| 逊克县| 米林县| 桦川县| 蕉岭县| 昌图县| 商城县| 博乐市| 法库县| 台州市| 鹤壁市| 大方县| 丹巴县| 平塘县| 略阳县| 平安县| 沧州市| 大城县| 吉木萨尔县| 高唐县| 武义县| 肇州县| 特克斯县| 新营市| 邹平县| 普陀区| 柳河县| 苗栗市| 合阳县| 宜兰市| 丰城市|