MySQL插入不存在的地方/如果不存在

2024-03-18

我尝试过以下查询:

INSERT INTO `surfed_site` (user, site)
VALUES ('123', '456')
WHERE NOT EXISTS (SELECT site FROM `surfed_site` WHERE site=456)

但我不断收到 MySQL 错误:

1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在 'WHERE NOT EXISTS (SELECT site FROMsurfed_siteWHERE site=456)' 第 3 行

我不知道我做错了什么,有人能指导我吗?


INSERT statements support two1 syntaxes: one that uses VALUES, and one that uses a query. http://dev.mysql.com/doc/refman/5.6/en/insert.html You can't combine them, and only the query syntax supports WHERE clauses. So:

INSERT INTO `surfed_site` (user, site)
SELECT '123', '456' FROM (SELECT 1) t
WHERE NOT EXISTS (SELECT site FROM `surfed_site` WHERE site=456)

  1. 实际上three语法;你也可以使用SET。如果您只插入一条记录,则该记录在功能上等同于VALUES,但可以说更具可读性。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL插入不存在的地方/如果不存在 的相关文章

随机推荐