这是我第一次使用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 时才会执行插入。
还有更多选择...