MySQL 5.7 中TIMESTAMP with implicit DEFAULT value is deprecated错误

MySQL 5.7 中TIMESTAMP with implicit DEFAULT value is deprecated错误


解决方案:

打开my.ini(可用记事本打开),找到“[mysqld]”设置项,添加代码:

#开启查询缓存
explicit_defaults_for_timestamp=true


问题:

D:\software\mysql\mysql-5.7.17-winx64\mysql-5.7.17-winx64\bin>mysqld --initialize
2017-12-13T07:08:35.613357Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2017-12-13T07:08:35.615357Z 0 [ERROR] -- --initialize specified but the data directory has files in it. Aborting..
2017-12-13T07:08:35.616357Z 0 [ERROR] Aborting




原因:data文件夹已经存在



解决办法:删除该bin目录下的该文件夹,删除后重新执行该命令该文件夹会重新生成(如果删除不了可以下载文件粉碎机进行粉碎)


MySQL 是一种基于关系型数据管理系统的数据库,它支持多个操作系统,并且在许多领域中都被广泛应用。随着技术的不断发展,MySQL 的版本也在不断更新,其中一些变化会影响数据库的安装和使用。使用 MySQL 进行开发的开发者们可能会在安装 MySQL 的过程中遇到警告信息 "timestamp with implicit default value is deprecated"。 该警告信息是 MySQL 中的一个新功能,主要是为了提醒 MySQL 用户不要在创建 timestamp 字段时自动赋值默认值。这是因为在 MySQL 5.6.5 之后的版本中,MySQL 引入了一项新特性,即 timestamp 字段将默认值设为 NULL,并且只有在第一次插入记录时才会自动赋值时间戳。 虽然 MySQL 已经弃用了在 timestamp 字段上自动设置默认值的方法,但现有的代码中仍然可能会使用该方法。因此,在新版本的 MySQL 中,如果尝试在 timestamp 字段上设置默认值,函数库将会给出警告信息,提醒用户不应该这样做。 为了消除这个警告信息,开发者可以使用以下方法: 1. 在使用 timestamp 字段创建表时,不设置默认值,而是在插入记录时手动插入时间戳。 2.MySQL 5.6.5 之前的版本中使用 timestamp 字段时,可以继续使用自动赋值默认值的方法。 3. 修改现有的代码以遵循 MySQL 的最新规定。 总之,当开发者在安装 MySQL 时遇到 "timestamp with implicit default value is deprecated" 的警告信息时,应该了解这是 MySQL 引入了新特性,提醒用户不要在创建 timestamp 字段时自动赋值默认值。开发者可以根据自己的需要采取适当的措施来解决这个问题。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI算法网奇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值