mysql - 似乎无法将 REPLACE INTO 与 WHERE EXISTS 一起使用
问题描述
我试图确保仅在具有指定名称的竞争不存在或者如果它确实存在,它具有指定的用户 ID 时才进行替换。
REPLACE INTO ClimbingDB.competitions(competitionName)
VALUES ('Competition Name')
WHERE (NOT EXISTS(
SELECT * FROM ClimbingDB.competitions
WHERE competitionName='Competition Name')
OR EXISTS(
SELECT * FROM ClimbingDB.competitions
WHERE competitionName='Competition Name' AND userID='5'))
我收到“您的 SQL 语法有错误”。
如果我执行“SELECT * FROM ClimbingDB.competitions”而不是 REPLACE,则此 SQL 语句有效,并且 REPLACE 语句在没有 WHERE 条件的情况下也可以正常工作。
解决方案
推荐阅读
- python - 推荐系统的网络服务
- react-native - 是否有用于基本 CRUD 任务的 React Native 框架?
- javascript - 如何通过 XMLHttpRequest GET 方法向 django 传输信息?
- discord - discord.js 使用命令添加数字
- sql-server - 如何在从 IQueryable 生成的 SQL 脚本中为嵌套对象设置别名
- c++ - 如何正确使用生成的 protobuf 源?
- angular - 如果作为单元测试运行,Ngxs 操作不会自动订阅
- c++ - 如何确保只输入 int 而不是 char?
- python - 用 Python 中的另一个元素替换 XML 元素
- android - 如何返回向量
> 从 JNI 到 Java?