我有一个带有 3 个通用键的表,它们也是外键。这是我的查询——
IF (EXISTS(SELECT * FROM table1 WHERE col_1 =4))
BEGIN
UPDATE table1
SET col_2 = 3,
col_3 = 100
WHERE col_1 = 4
END
ELSE
BEGIN
INSERT INTO table1
(col_1, col_2, col_3)
VALUES(4, 2, 27)
END
这给了我一个语法错误。引擎使用 InnoDB。排序规则:utf8_swedish_ci
我也试过这个——
INSERT INTO table1
(col1, col2, col3)
VALUES
(:val1, :val2, :val3)
ON DUPLICATE KEY UPDATE
col2=:val2,
col3=:val3
这不能正常工作,尽管有重复的键,但只能插入行。