mysql - SQL 查询错误 - If Else 语句

标签 mysql sql select

下面的 SQl 查询给我错误:

IF EXISTS (SELECT * FROM comments WHERE user_id='2' AND course_id='1') 
UPDATE comments SET page1='exists' WHERE user_id='2' AND course_id='1' 
ELSE 
INSERT INTO comments (user_id,course_id,page1) VALUES ('2','1','inserted')

"#1064 - 您的 SQL 语法有误;请查看与您的 MySQL 服务器版本对应的手册,了解在 'IF EXISTS (SELECT * FROM comments WHERE user_id='2') 附近使用的正确语法AND course_id='1') 在第 1 行更新 co'”

我确定语法是正确的?!

最佳答案

添加一个包含 user_id 和 course_id 的唯一键

然后就用

INSERT INTO comments (user_id,course_id,page1) 
VALUES ('2','1','inserted')
ON DUPLICATE KEY UPDATE page1='exists'

关于mysql - SQL 查询错误 - If Else 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24650736/

相关文章:

mysql - 使用 'AND' 和 COUNT(*)

PHP:从数据库获取查询结果并将其编码为 JSON 数组并传递给 Android

php - 在段落中插入数字 ID(PHP/MySQL DB 查询)

sql - 想要处理一个大的 appengine 日志文件

sql - 如何通过一个SQL在二维中显示x,y,count(*)?

c# - 使用 SQL 和 C# 检查数字是否在某个范围内

c++ - 为什么 select() 不断失败并出现 EINTR errno?

MySQL RAND() 不工作

php - 如何检查值是否存在于 MySQL 数据库中

mysql - SQL语句构造: Selecting Unique Records