【问题标题】:How to delete the rows which are not updated?如何删除未更新的行?
【发布时间】:2015-04-28 15:59:44
【问题描述】:

我有这张桌子:

 Id | value  
 --------
  1 |  bla bla bla
  2 |  bla bla

我的申请收到:

  1. 要更新 id 的行
  2. 没有要插入的 ID 的新数据
  3. 如果一个 id 不存在,我应该从表中删除它

例如,当收到此数据时:

[
{"Id"=>1 ,"value"=>" value 1 "},
{"Id"=>"","value"=>"value2"}
]

运行查询后,表应包含以下行:

Id | value  
------------
 1 | value1     , update row
 2 | bla bla    , this row will be deleted row because I don't receive the id
 3 | value 2    , there is a new row, because I got an empty Id 

如何实现这个查询?

【问题讨论】:

  • 在表中删除数据并插入/更新您即将到来的新数据不是更容易吗?
  • 这意味着我应该运行两个查询,对吧?但我正在寻找更专业的方式!
  • 两次查询没什么不专业的
  • 使用数据库作为临时文件,不是很专业。顺便说一句,您计划使用 2 个查询:一个用于更新,另一个用于插入?你不是吗?
  • @Alex 临时文件,我是在使用数据库作为临时文件吗?

标签: mysql sql


【解决方案1】:

您能否添加一个 TimeStamp 列,将该列更新为 INSERT 和 UPDATE 代码的一部分。此时,您可以运行附加查询以删除基于 TimeStamp 列的“旧”行。

【讨论】:

    猜你喜欢
    • 2015-12-28
    • 1970-01-01
    • 2015-03-03
    • 1970-01-01
    • 1970-01-01
    • 2016-09-19
    • 2018-07-18
    • 2017-01-02
    • 1970-01-01
    相关资源
    最近更新 更多