我测试了这段代码:
UPDATE books SET price='20000' WHERE user_id='2'
IF ROW_COUNT()=0
INSERT INTO store_books(name,user_id) VALUES ('test1','2')
我遇到了以下错误。
错误:您的SQL语法有错误;检查手册 对应于您的MariaDB服务器版本,以使用正确的语法 在'IF ROW_COUNT()= 0附近插入到store_books(name,user_id)VALUES中 ('test1','2')'在第2行
是否有解决此问题的解决方案?
我不想在插入重复键时使用INSERT INTO ...(因为我的主表中有多个键)。
上面的示例是寻找新方法的尝试。
我想要的模式: 更新(如果存在)ELSE插入。
答案 0 :(得分:1)
两件事:
INSERT ... ON DUPLICATE KEY UPDATE ...
是您要做的最佳方法。如果不这样做,则必须使用数据库事务来确保要维护的完整性。