[英]Check if row exists, if not add it [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')
似乎是合理的邏輯。 這是一個有效的查詢還是有更好的方法呢?
只需在(block_file,settings_group)
列上創建UNIQUE索引,MySQL決不會讓您插入會重復這些值的行。
並回答這個問題:不,它根本不起作用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.