我有一個表與3個通用鍵也是外鍵。這是我的查詢 -SQL如果存在更新其他插入不工作
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
這並不正常工作,只能插入行inspite有重複鍵。
爲什麼你不只是做'一個'INSERT'在DUPLICATE KEY UPDATE上? – Barmar
@Barmar我試過,但它不起作用。文件說,它會導致錯誤存在多個鍵 – user983983
在MySQL中有一個'替換'。你可以使用這 – devanand