0
我需要添加一行到MySQL數據庫表,但只有當行不存在時。我的數據庫服務器剛剛關閉,所以我無法測試這個,但會按預期工作嗎?檢查是否存在行,如果沒有添加它[MySQL]
INSERT INTO `blocks` (`block_file`,`settings_group`)
VALUES ('announcements','announcement_settings')
WHERE NOT EXISTS (SELECT `block_file`,`settings_group`
FROM `blocks`
WHERE `block_file`='announcements' AND `settings_group`='announcement_settings')
它看起來像聲音邏輯。這是一個有效的查詢還是有更好的方法呢?
在SQL Server中,這種類型的方法會給你一個競爭條件。不確定這是否也適用於MySQL。它只是這個具體的查詢還是你總是想要在這兩列上執行唯一性? – 2011-02-08 23:26:28
與mysql相同 - 當您從中選擇表格時,無法修改表格 – 2011-02-08 23:34:27