MySQL vs PostgreSQL重复

时间:2019-03-16 18:22:35

标签: mysql sql postgresql

我想将PostgreSQL中的代码更改为MySQL

PostgreSQL:

componentDidMount() {
   const req = urls.map((url) => { // make API requests
     return fetch(url);
   });

   Promise.all(req).then(res => {
      // make the function call here
    })
}

我已经使用MySQL:

INSERT INTO store VALUES(%s, %s, %s, %s, %s, %s, %s)
   ON CONFLICT ON CONSTRAINT store_number_key DO UPDATE 
   SET quantity=store.quantity+EXCLUDED.quantity

它不起作用,我不知道查询DUPLICATE KEY UPDATE的外观如何。 我想实现什么?当有人插入具有相同杂志编号的物品时,应将数量相加。

1 个答案:

答案 0 :(得分:0)

此查询应该有效:

INSERT INTO store (name, producent, model, number, quantity, warehouse, location) 
   VALUES(%s, %s, %s, %s, %s, %s, %s)
   ON DUPLICATE KEY UPDATE quantity = quantity + VALUES(quantity);

但是,它假定您在产生冲突的列上具有唯一索引(或约束)。您的问题没有表明这些列是什么。