MySQL 实现在引号中拒绝 'now()'

MySQL implementation rejects 'now()' in quotes

我的服务器不允许

UPDATE some-table SET last_modified = 'now()' where row_id = 1;

但确实允许

UPDATE some-table SET last_modified = now() where row_id = 1;

是什么设置导致失败的?我认为这可能是 sql_mode 设置,目前是 STRICT_TRANS_TABLES,但我不确定。

卢卡斯的评论是正确的。 now() 是一个 function,像这样将它放在单引号内,'now()' 告诉 MySQL 它应该被接受为字符串。并且假设last_modified列的列类型是日期,那么MySQL就不允许了。