mysql中now和sysdate的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql中now和sysdate的区别相关的知识,希望对你有一定的参考价值。

mysql 中now获取的是sql执行的时间,sysdate获取的是系统时间

在master 和slave 主从过程中会导致时间的不一致导致报错

例如:

Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave.


解决办法:

1、修复这种问题。

2、不使用statement的语句级别复制,而是类似于oracle的,将数据变更记录下来,原样在备库执行一遍。

第二种方式就是大家熟知的,binlog_format=ROW的方式。第一种就是now()不使用机器系统时间,而是取mysql的变量”TIMESTAMP”值。

另外的类似的变量还包括insert_id(用于复制时,AUTO_INCREMENT的取值)等


以上是关于mysql中now和sysdate的区别的主要内容,如果未能解决你的问题,请参考以下文章

MYSQL的NOW和SYSDATE函数的区别

mysql now() sysdate() curdate()区别

now()与sysdate()的区别

MySQL与Oracle的语法区别详细对比

MySQL与Oracle的语法区别详细对比

MySQL与Oracle的语法区别详细对比 (转)