pymysql 仅在不存在时插入
P粉956441054
P粉956441054 2024-02-26 15:39:51
0
1
337

这是我第一次使用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;")

不幸的是,我遇到了语法错误

P粉956441054
P粉956441054

全部回复(1)
P粉811349112

如果您只想在表中不存在该行时插入行,那么您有很多选择:

  1. 通过表达式创建唯一索引,用于检测是否存在。如果该表达式的值已存在于表中,服务器将禁止插入。

  2. 使用 INSERT .. ON DUPLICATE KEY UPDATE 和假 UPDATE 操作(例如,id = id,其中 id 是主键)。

  3. 根据 WHERE NOT EXISTS 使用 INSERT .. SELECT。仅当 WHERE 子句返回 TRUE 时才会执行插入。

还有更多选择...

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板