mysql 查询不起作用

标签 mysql sql

如果行不存在,我想设置查询

IF NOT EXISTS (SELECT id FROM table WHERE id=1)
INSERT INTO table (id, name) VALUES (1,'abx');

如果 id!=1 则插入值并检查行是否已存在

有什么解决办法吗?

提前致谢...

终于解决了

INSERT INTO table (id, name) VALUES (1,'abx') ON DUPLICATE KEY UPDATE id = 1;

感谢您的支持

最佳答案

您的数据类型存在问题 - 在 SELECT 中,将 id 与数字进行比较(id = 1 - 不带撇号),而在 INSERT 中,将 id 与数字进行比较被写成一个字符串(用撇号:'1')。

关于mysql 查询不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8668058/

相关文章:

mysql - SQL select s 减去实际值

python - SQLAlchemy Core 何时进行提交?

mysql - 如果 mysql 转储文件具有 blob 字段但在不使用 --hex-blob 参数的情况下转储,如何修复它?

mysql - 在单个查询中获取多个结果

sql - RETURN QUERY-PostgreSQL 中的记录

sql - 两个表上的 Oracle DB 同步

mysql - 不带子查询的 ORDER BY COUNT()

MySQL 随意选择执行或不执行查询

MYSQL匹配添加号码查询

java - Hibernate 查询比较中的法语字符问题