对于我的应用程序,我需要检查某些列是否存在数据。如果存在,则将值10添加到现有值,否则插入新条目
我正在尝试这样的事情
UPDATE reporting set column_name1 = column_name1 + 10 WHERE column_name2 = "201";
IF ROW_COUNT()=0 THEN
INSERT INTO reporting (column_name1,column_name2) VALUES (15,201);
END IF
在我的表中,column_name2不是主键,我已禁用安全检查。由于这个原因,我无法使用DUPLICATE KEY约束。对于此查询,我收到语法错误:
Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF @@ROWCOUNT=0 THEN INSERT INTO reporting (identifier,_9_2017) ' at line 1
If语句的语法类似于MySQL文档https://dev.mysql.com/doc/refman/5.7/en/if.html中的语法。此门户网站中有很少与此相关的问题,但我找不到正确的答案(UPDATE if exists else INSERT in SQL)。我在哪里错了?
答案 0 :(得分:0)
你应该像这样使用ROW_COUNT()
SELECT ROW_COUNT();