如果我写了一个 SQL 语句来更新一个非常大的 MySQL 数据库表上的日期字段,那么 SQL NOW() 函数的输出是动态的,因为它在运行时随时间变化,或者它对每个数据保持不变字段并使用其开始时间?
IE;将:
UPDATE `table` SET `date` = NOW()
总是在所有字段中产生相同的结果(例如 2016-10-17 15:33:10 ),无论处理时间是 < 1 秒还是 1 小时?
如果是动态的。我需要一点帮助来创建一个不存在的声明。
最佳答案
它确实对每个数据字段保持不变并使用执行开始时间。前往检查一下。
http://www.mysqltutorial.org/tryit/query/mysql-now/#3
如果您运行代码,您会注意到时间与 5 秒 sleep 时间相同。
还有另一个函数SYSDATE()
,它是动态的并且总是返回当前时间。这link可能对您有更多帮助。
关于mysql - 从单个查询更新大表时,SQL NOW() 函数是动态的还是静态的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40078703/