MySQL [Warning] TIMESTAMP with implicit DEFAULT value is deprecated(報(bào)錯(cuò)信息解決)
MySQL使用過(guò)程中可能會(huì)遇到一些報(bào)錯(cuò)信息。本文將介紹一些常見(jiàn)的MySQL報(bào)錯(cuò)信息,并提供相應(yīng)的解決方法。
報(bào)錯(cuò)信息
[Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). [Warning] 'ERROR_FOR_DIVISION_BY_ZERO' is deprecated and will be removed in a future release. [Warning] 'NO_ZERO_DATE' is deprecated and will be removed in a future release. [Warning] 'NO_ZERO_IN_DATE' is deprecated and will be removed in a future release.
TIMESTAMP with implicit DEFAULT value is deprecated
當(dāng)在MySQL中創(chuàng)建表時(shí),如果使用了隱式默認(rèn)值的TIMESTAMP類型,會(huì)收到此警告信息。這是因?yàn)殡[式默認(rèn)值的TIMESTAMP類型在未來(lái)的版本中將被棄用。為了解決這個(gè)問(wèn)題,我們可以在MySQL的配置文件中進(jìn)行相應(yīng)的設(shè)置。
打開(kāi)MySQL的配置文件(my.ini或者my.cnf),找到包含[mysqld]的段落,在該段落中添加以下行:
explicit_defaults_for_timestamp=true
這樣設(shè)置后,MySQL將不再使用隱式默認(rèn)值的TIMESTAMP類型,而是需要顯式地指定默認(rèn)值。
'ERROR_FOR_DIVISION_BY_ZERO' is deprecated and will be removed in a future release
當(dāng)在MySQL中進(jìn)行除零操作時(shí),如果使用了ERROR_FOR_DIVISION_BY_ZERO模式,會(huì)收到此警告信息。這是因?yàn)镋RROR_FOR_DIVISION_BY_ZERO模式在未來(lái)的版本中將被移除。為了解決這個(gè)問(wèn)題,我們需要修改MySQL的sql_mode設(shè)置。
在MySQL的配置文件中,找到sql_mode的設(shè)置項(xiàng),將其中包含ERROR_FOR_DIVISION_BY_ZERO的部分移除。例如,將以下設(shè)置:
sql_mode="ONLY_FULL_GROUP_BY,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES"
修改為:
sql_mode="ONLY_FULL_GROUP_BY,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES"
這樣設(shè)置后,MySQL將不再使用ERROR_FOR_DIVISION_BY_ZERO模式,從而避免報(bào)錯(cuò)。
'NO_ZERO_DATE' and 'NO_ZERO_IN_DATE' are deprecated and will be removed in a future release
當(dāng)在MySQL中插入或更新日期列時(shí),如果使用了NO_ZERO_DATE或NO_ZERO_IN_DATE模式,會(huì)收到此警告信息。這是因?yàn)镹O_ZERO_DATE和NO_ZERO_IN_DATE模式在未來(lái)的版本中將被移除。為了解決這個(gè)問(wèn)題,我們需要修改MySQL的sql_mode設(shè)置。
在MySQL的配置文件中,找到sql_mode的設(shè)置項(xiàng),將其中包含NO_ZERO_DATE和NO_ZERO_IN_DATE的部分移除。例如,將以下設(shè)置:
sql_mode="ONLY_FULL_GROUP_BY,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES"
修改為:
sql_mode="ONLY_FULL_GROUP_BY,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES"
這樣設(shè)置后,MySQL將不再使用NO_ZERO_DATE和NO_ZERO_IN_DATE模式,從而避免報(bào)錯(cuò)。
通過(guò)以上的設(shè)置,可以解決一些常見(jiàn)的MySQL報(bào)錯(cuò)問(wèn)題,確保數(shù)據(jù)庫(kù)的正常運(yùn)行。
到此這篇關(guān)于MySQL [Warning] TIMESTAMP with implicit DEFAULT value is deprecated(報(bào)錯(cuò)信息解決)的文章就介紹到這了,更多相關(guān)mysql報(bào)錯(cuò)信息內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
mysql 存儲(chǔ)過(guò)程輸入輸出參數(shù)示例
創(chuàng)建存儲(chǔ)過(guò)程時(shí)可以輸入輸出參數(shù),下面是一個(gè)mysql存儲(chǔ)過(guò)程的創(chuàng)建示例,需要的朋友可以參考下2014-08-08
千萬(wàn)級(jí)記錄的Discuz論壇導(dǎo)致MySQL CPU 100%的優(yōu)化筆記
談到自己在解決一個(gè)擁有 60 萬(wàn)條記錄的 MySQL 數(shù)據(jù)庫(kù)訪問(wèn)時(shí),導(dǎo)致 MySQL CPU 占用 100% 的經(jīng)過(guò)。在解決問(wèn)題完成優(yōu)化(optimize)之后,我發(fā)現(xiàn) Discuz 論壇也存在這個(gè)問(wèn)題,當(dāng)時(shí)稍微提了一下2010-12-12
mysql 5.7 docker 主從復(fù)制架構(gòu)搭建教程
這篇文章主要為大家詳細(xì)介紹了mysql 5.7 docker 主從復(fù)制架構(gòu)搭建教程,感興趣的小伙伴們可以參考一下2016-07-07
MySQL分區(qū)建索引以及分區(qū)介紹總結(jié)
當(dāng)mysql一張數(shù)據(jù)表中的數(shù)據(jù)達(dá)到一定的量時(shí),在其中查詢某一個(gè)數(shù)據(jù),需要花費(fèi)大量的時(shí)間,下面這篇文章主要給大家介紹了關(guān)于MySQL分區(qū)建索引以及分區(qū)介紹的相關(guān)資料,需要的朋友可以參考下2022-04-04

