在某些情况下,在生产环境中运行UPDATE语句可以节省一天的时间。但是,更新失败可能比最初的问题更糟糕。
除了不使用测试数据库,还有哪些选项可以告诉您更新语句在运行前将要执行的操作?
除了使用Imad所说的事务(无论如何应该强制执行)之外,您还可以通过使用与UPDATE相同的WHERE子句运行select来进行完整性检查。
因此,如果您的UPDATE是
UPDATE foo SET bar = 42 WHERE col1 = 1 AND col2 = 'foobar';
下面将向您显示将更新哪些行:
SELECT * FROM foo WHERE col1 = 1 AND col2 = 'foobar';