【问题标题】:node.js update mysql databasenode.js 更新 mysql 数据库
【发布时间】:2017-02-05 07:12:13
【问题描述】:

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

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

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

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

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

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

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

【问题讨论】:

  • 这是 mysql:同时执行这两个操作:insert .. on duplicate key update。问题解决了。

标签: mysql node.js


【解决方案1】:

使用insert ... on duplicate key update

例子:

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

*如果这种情况下的键是自动增量计数器,这将不起作用。

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

【讨论】:

    猜你喜欢
    • 2013-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-16
    • 2013-03-05
    相关资源
    最近更新 更多