簡體   English   中英

檢查行是否存在,如果不存在,請添加[MySQL]

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM