【问题标题】:Getting all effected rown in MySQL UPDATE [duplicate]在 MySQL UPDATE 中获取所有受影响的行 [重复]
【发布时间】:2013-12-22 14:42:50
【问题描述】:

标题几乎说明了这一点。我正在使用已弃用的 mysql_ 函数。我有一个类似的查询:

UPDATE `table`
SET `row` = 'newtext'
WHERE `row` = 'oldtext'

有没有一种简单的方法来获取所有受影响行的主键? mysql_insert_idmysql_affected_rows 的一些光荣组合?如何在不循环并每次更新一行的情况下做到这一点?

【问题讨论】:

  • 为什么要主键?
  • 对于日志记录,这是一项 cron 作业。
  • 除非行更新太快以至于您无法锁定表以进行写入,否则我认为最简单的方法就是使用相同的 SELECT 主键条件和 然后做同样的更新。
  • @GordonLinoff 这就是我在锁定表格时所指的内容。在执行 SELECT 之前,您必须锁定它才能写入。

标签: php mysql sql sql-update primary-key


【解决方案1】:

作为您的问题的解决方案,请参考以下示例代码 sn-p

  UPDATE `table` SET `row` = 'newtext' WHERE `row` = 'oldtext'

  select id from table where row='oldtext'

【讨论】:

    猜你喜欢
    • 2016-11-01
    • 2019-02-19
    • 2013-01-21
    • 2013-01-08
    • 1970-01-01
    • 1970-01-01
    • 2011-05-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多