node.js更新mysql数据库

时间:2016-09-27 15:12:54

标签: mysql node.js

我正在使用node.js mysql包,我可以在其中创建连接,在connection.query(..)..之后,关闭连接。

我有一组要在mysql数据库中更新的行,而且我不知道行是否存在。在这里,我有两个解决方案,但我不知道哪个更好:

  1. 删除我要在mysql数据库中更新的所有行,并使用一个connection.query(..)..

    插入所有行。

    sudo代码:1。从表中删除id = .. [],              2.插入表格集......

  2. 检查我要更新/插入的每一行,如果id存在于mysql数据库中,则发送查询进行更新,否则插入。

    sudo代码:1。列表中的每一行            2.检查mysql中是否存在该行            3.如果存在,则发送查询更新;               如果不存在,则发送查询以插入

  3. 对于第二个解决方案,我担心这可能太耗时。有谁有一些建议?做这个的最好方式是什么? 我对这些东西不熟悉所以我不知道在for循环中发送多个查询是否更好,特别是在节点中每个connection.query都是一个带回调的函数。哪一个会有更好的整体性能?或任何其他解决方案?

1 个答案:

答案 0 :(得分:0)

使用insert ... on duplicate key update

示例:

insert into `tableName` (col1, col2, col3) values ( 'v1', 'v2', 'v3') on dupicate key update `col3`='v3'

*如果此案例中的密钥是auto_increment计数器,则此功能无效。

来源:http://dev.mysql.com/doc/refman/5.7/en/insert-on-duplicate.html