【问题标题】:Reverse Sql request : insert by delete / Create by Drop反向 Sql 请求:删除插入/删除创建
【发布时间】:2020-11-12 08:25:19
【问题描述】:

我需要一个可以反转 sql 查询的脚本,例如插入/创建/添加列...

示例:

输入:INSERT INTO myTable VALUES (1, 1);

输出:DELETE FROM myTable WHERE id=1;

【问题讨论】:

  • @TimBiegeleisen 这是怎么复制的?
  • 我从未听说过可以做到这一点的工具。
  • 当你来到UPDATE 时,它会变得更加棘手,并反转DELETE FROM thatTable WHERE id = 13; 特别是如果有 WHEN ON DELETE/UPDATE CASCADE fk's。
  • 存在不可逆的插入 - 根本不存在 (INSERT .. ODKU) 或基于当前数据状态 (INSERT IGNORE)。这项任务通常无法解决。

标签: php mysql sql


【解决方案1】:

如果您想“反转”操作,请使用transactions

这允许您拥有一个修改数据库的代码块。然后,如果您决定不想保留所有更改(比如发生错误),那么您可以ROLLBACK 事务,撤消所有更改。

一旦数据被提交到数据库,SQL 就会持久化并记住它。您可以执行具有撤消更改效果的其他操作,但这需要适当的应用程序逻辑。

【讨论】:

    猜你喜欢
    • 2011-05-15
    • 2023-03-26
    • 2020-12-07
    • 2018-02-07
    • 1970-01-01
    • 1970-01-01
    • 2013-05-24
    • 2018-10-30
    • 2016-11-25
    相关资源
    最近更新 更多