首頁 > 後端開發 > php教程 > mysql插入問題

mysql插入問題

WBOY
發布: 2016-08-20 09:04:00
原創
1049 人瀏覽過

兩個使用者同時插入一條數據,
insert into table set name='tom',num=2
insert into table set name='jack',num=2
,但是業務邏輯不允許num值重複出現。
怎麼限制mysql不讓插入重複資料?
1.新增聯合唯一索引,但是程式會報錯,感覺不可行。
有其他方法沒?

回覆內容:

兩個使用者同時插入一條數據,
insert into table set name='tom',num=2
insert into table set name='jack',num=2
,但是業務邏輯不允許num值重複出現。
怎麼限制mysql不讓插入重複資料?
1.新增聯合唯一索引,但是程式會報錯,感覺不可行。
有其他方法沒?

使用唯一索引,在插入這個場景中使用事務處理,拋出事務提醒失敗有重複值。

程序報錯誤?
你捕獲這個對應的異常,然後返回,做一個業務性的說明就可以了。

insert ignore不行嗎

那就是每次插入之前都得去查詢一下,表中這個num字段是否存在要插入的值;還有考慮到並發到情況。對不!要嘛用mysql事務;要嘛mysql鎖表機制

建議資料庫自己的校驗機制,就像你的說唯一約束或索引都可以,在應用能夠捕獲到資料庫的報錯信息,做相應得的說明就可以了。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板