postgresql与mysql语法区别

mysql在处理数据存在时修改数据,反之新增数据的sql语句:

INSERT INTO table (id, field, field2) VALUES (1, A, X), (2, B, Y), (3, C, Z)
ON DUPLICATE KEY UPDATE
field=VALUES(Col1), field2=VALUES(Col2);

postgresql中:

从版本9.5开始,PostgreSQL具有UPSERT语法,带有ON CONFLICT子句。使用以下语法(类似于MySQL)

INSERT INTO the_table (id, column_1, column_2) 
VALUES (1, 'A', 'X'), (2, 'B', 'Y'), (3, 'C', 'Z')
ON CONFLICT (id) DO UPDATE 
SET column_1 = excluded.column_1, column_2 = excluded.column_2;

你可能感兴趣的:(mysql,postgresql)