我有一些非常簡單的要求,但我不知道我是如何實現它們:如何在不使用UNIQUE約束的情況下保證MySQL中的行唯一性?
- 我有運行相同的查詢
- 查詢提供了一個「字符串」值的多個併發線程 - 如果它存在表中,查詢應該返回匹配行的id,如果不是,查詢應該插入'string'值並返回最後插入的ID
- 'string'列是(並且必須是)文本列(它是大於varchar 255),所以我不能將它設置爲唯一 - 唯一性必須通過訪問機制強制執行
- q uery需要使用存儲過程格式(不支持MySQL中的表鎖)
如何確保'字符串'是唯一的?在另一個線程讀取它並發現沒有匹配的「字符串」項目後,如何防止其他線程寫入表格?
感謝您的任何建議..
我剛剛嘗試過這個,但表格很大,我只是無法緩存整個事情 – MalcomTucker 2010-03-16 14:57:14