這是我第一次使用sql,並且僅當條目不在資料庫中時才嘗試插入資料。我的 sql 如下圖:
insert_query = ("IF NOT EXISTS ( SELECT 1 FROM `follows` WHERE `id_user` = '"+user_id+"' AND `id_folgt` = '"+folgt_id+"') BEGIN INSERT INTO `follows`(`id_user`, `id_folgt`) VALUES ('"+user_id+"','"+folgt_id+"')END;")
不幸的是,我遇到了文法錯誤
如果您只想在表中不存在該行時插入行,那麼您有很多選擇:
透過表達式建立唯一索引,用於偵測是否存在。如果該表達式的值已存在於表中,伺服器將禁止插入。
使用 INSERT .. ON DUPLICATE KEY UPDATE 和假 UPDATE 運算(例如,
id = id
,其中id
是主鍵)。根據 WHERE NOT EXISTS 使用 INSERT .. SELECT。只有當 WHERE 子句傳回 TRUE 時才會執行插入。
還有更多選擇...