我在这里失明......似乎无法在这个SQL中找到错误:
INSERT INTO sankt_groups_order (
parent_group_id,
child_group_id,
order
) VALUES (?,?,?)
ON DUPLICATE KEY UPDATE
order = ?
;
我收到此错误:
SQLSTATE[42000]: Syntax error or access violation:
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 'order ) VALUES ('65',NULL,'3') ON DUPLICATE KEY UPDATE order = '3''
接下来这个SQL会做我想的吗?我需要它来插入整行如果丢失并更新顺序如果它存在...我有一个索引使parent_group_id
和child_group_id
唯一。
答案 0 :(得分:3)
order
是mysql中的reserved word,你必须逃脱它:
child_group_id,
`order`
^-- ^--- backticks to escape
) VALUES (?,?,?)
是的,它应该按照你的想法去做。如果存在唯一/主要密钥违规,您只需更改order
字段。