MARIADB: вставка и обновление таблицы на основе данных из другой таблицы

0

/* Вот код, который я использовал для слияния, но я получаю ошибку и не могу выполнить обновление Ошибка: Ошибка SQL [1064] [42000] У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии сервера MariaDB, для синтаксиса righr для использования рядом с "Merge temp2 as t" в строке 1 */

BEGIN
MERGE temp2 as t
using temp1 as s ON (t.slno = s.slno)
-- Insert values when data no present
WHEN NOT MATCHED THEN INSERT VALUES
(s.slno,s.name,s.address);
-- Update when values present
WHEN MATCHED then UPDATE SET
t.slno = s.slno,
t.name = s.name,
t.address = s.address;
END
Теги:
mariadb
mariasql

1 ответ

0
Лучший ответ

Вероятно, вы можете использовать это:

INSERT INTO temp2 (slno, name, address) SELECT slno, name, address FROM temp1 
ON DUPLICATE KEY UPDATE 
slno = VALUES(slno), name = VALUES(name), address = VALUES(address)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню