【发布时间】:2016-08-02 23:00:49
【问题描述】:
我有以下sql代码:
UPDATE google_calendar_accounts SET google_refresh_token="d",google_org_token="d" WHERE userID=5;
IF ROW_COUNT()=0 THEN
INSERT INTO google_calendar_accounts (userID,google_refresh_token,google_org_token) VALUES (5,"d","d"); END IF
我得到了错误:
您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以获取在第 2 行的 '' 附近使用的正确语法
我正在使用 mariadb 10.1.14
【问题讨论】:
-
如果这只是在普通查询中,那是行不通的,在存储过程之外不支持条件和其他构造。您可能需要检查这个相关问题:stackoverflow.com/questions/913841/mysql-conditional-insert
-
或者来自官方文档,另一种upsert方法:mariadb.com/kb/en/mariadb/insert-on-duplicate-key-update