久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

    <small id='Uwt7p'></small><noframes id='Uwt7p'>

    1. <tfoot id='Uwt7p'></tfoot>

    2. <i id='Uwt7p'><tr id='Uwt7p'><dt id='Uwt7p'><q id='Uwt7p'><span id='Uwt7p'><b id='Uwt7p'><form id='Uwt7p'><ins id='Uwt7p'></ins><ul id='Uwt7p'></ul><sub id='Uwt7p'></sub></form><legend id='Uwt7p'></legend><bdo id='Uwt7p'><pre id='Uwt7p'><center id='Uwt7p'></center></pre></bdo></b><th id='Uwt7p'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='Uwt7p'><tfoot id='Uwt7p'></tfoot><dl id='Uwt7p'><fieldset id='Uwt7p'></fieldset></dl></div>

      1. <legend id='Uwt7p'><style id='Uwt7p'><dir id='Uwt7p'><q id='Uwt7p'></q></dir></style></legend>
          <bdo id='Uwt7p'></bdo><ul id='Uwt7p'></ul>

        為 DATE 或 DATETIME 設置默認值時 MySQL 中的錯誤

        Error in MySQL when setting default value for DATE or DATETIME(為 DATE 或 DATETIME 設置默認值時 MySQL 中的錯誤)

          • <tfoot id='0H3vO'></tfoot>
              <tbody id='0H3vO'></tbody>

              <bdo id='0H3vO'></bdo><ul id='0H3vO'></ul>
                <i id='0H3vO'><tr id='0H3vO'><dt id='0H3vO'><q id='0H3vO'><span id='0H3vO'><b id='0H3vO'><form id='0H3vO'><ins id='0H3vO'></ins><ul id='0H3vO'></ul><sub id='0H3vO'></sub></form><legend id='0H3vO'></legend><bdo id='0H3vO'><pre id='0H3vO'><center id='0H3vO'></center></pre></bdo></b><th id='0H3vO'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='0H3vO'><tfoot id='0H3vO'></tfoot><dl id='0H3vO'><fieldset id='0H3vO'></fieldset></dl></div>
              • <legend id='0H3vO'><style id='0H3vO'><dir id='0H3vO'><q id='0H3vO'></q></dir></style></legend>

                  <small id='0H3vO'></small><noframes id='0H3vO'>

                  本文介紹了為 DATE 或 DATETIME 設置默認值時 MySQL 中的錯誤的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                  問題描述

                  我運行的是 MySql Server 5.7.11 和這句話:

                  I'm running MySql Server 5.7.11 and this sentence:

                  updated datetime NOT NULL DEFAULT '0000-00-00 00:00:00'
                  

                  不起作用.給出錯誤:

                  ERROR 1067 (42000): Invalid default value for 'updated'
                  

                  但是以下:

                  updated datetime NOT NULL DEFAULT '1000-01-01 00:00:00'
                  

                  剛剛好.

                  DATE 的情況相同.

                  The same case for DATE.

                  作為旁注,它在MySQL 文檔:

                  DATE 類型用于具有日期部分但沒有時間部分的值.MySQL 以 'YYYY-MM-DD' 格式檢索和顯示 DATE 值.支持的范圍是1000-01-01"到9999-12-31".

                  The DATE type is used for values with a date part but no time part. MySQL retrieves and displays DATE values in 'YYYY-MM-DD' format. The supported range is '1000-01-01' to '9999-12-31'.

                  即使他們也說:

                  無效的 DATE、DATETIME 或 TIMESTAMP 值將轉換為適當類型的零"值('0000-00-00' 或 '0000-00-00 00:00:00').

                  Invalid DATE, DATETIME, or TIMESTAMP values are converted to the "zero" value of the appropriate type ('0000-00-00' or '0000-00-00 00:00:00').

                  還考慮到 MySQL 文檔中的第二個引用,誰能告訴我為什么會出現該錯誤?

                  Having also into account the second quote from MySQL documentation, could anyone let me know why it is giving that error?

                  推薦答案

                  該錯誤是由于 sql 模式,根據最新的 MYSQL 5.7 文檔可以是嚴格模式

                  The error is because of the sql mode which can be strict mode as per latest MYSQL 5.7 documentation

                  MySQL 文檔 5.7 說:

                  嚴格模式會影響服務器是否允許0000-00-00"作為有效日期:如果未啟用嚴格模式,則允許使用 '0000-00-00' 并且插入不會產生警告.如果啟用了嚴格模式,則不允許使用 '0000-00-00' 并且插入會產生錯誤,除非也給出了 IGNORE.對于 INSERT IGNORE 和 UPDATE IGNORE,允許使用0000-00-00"并且插入會產生警告.

                  Strict mode affects whether the server permits '0000-00-00' as a valid date: If strict mode is not enabled, '0000-00-00' is permitted and inserts produce no warning. If strict mode is enabled, '0000-00-00' is not permitted and inserts produce an error, unless IGNORE is given as well. For INSERT IGNORE and UPDATE IGNORE, '0000-00-00' is permitted and inserts produce a warning.

                  檢查MYSQL模式

                  SELECT @@GLOBAL.sql_mode 全局,@@SESSION.sql_mode 會話

                  禁用 STRICT_TRANS_TABLES 模式

                  但是要允許格式 0000-00-00 00:00:00您必須在 mysql 配置文件中或通過命令禁用 STRICT_TRANS_TABLES 模式

                  However to allow the format 0000-00-00 00:00:00you have to disable STRICT_TRANS_TABLES mode in mysql config file or by command

                  通過命令

                  SET sql_mode = '';

                  SET GLOBAL sql_mode = '';

                  使用關鍵字 GLOBAL 需要超級特權,它會影響從那時起所有客戶端連接的操作

                  Using the keyword GLOBAL requires super previliges and it affects the operations all clients connect from that time on

                  如果以上不起作用,請轉到 /etc/mysql/my.cnf(根據 ubuntu)并注釋掉 STRICT_TRANS_TABLES

                  if above is not working than go to /etc/mysql/my.cnf (as per ubuntu) and comment out STRICT_TRANS_TABLES

                  此外,如果您想在服務器啟動時永久設置 sql 模式,請在 Linux 或 MacOS 上的 my.cnf 中包含 SET sql_mode=''.對于 Windows,這必須在 my.ini 文件中完成.

                  Also, if you want to permanently set the sql mode at server startup then include SET sql_mode='' in my.cnf on Linux or MacOS. For windows this has to be done in my.ini file.

                  注意

                  然而,在 MYSQL 5.6 中默認沒有啟用嚴格模式.因此它不會按照 MYSQL 6 產生錯誤文檔其中說

                  However strict mode is not enabled by default in MYSQL 5.6. Hence it does not produce the error as per MYSQL 6 documentation which says

                  MySQL 允許您將0000-00-00"的零"值存儲為虛擬日期".這在某些情況下比使用 NULL 值更方便,并且使用更少的數據和索引空間.要禁止0000-00-00",請啟用 NO_ZERO_DATE SQL 模式.

                  MySQL permits you to store a "zero" value of '0000-00-00' as a "dummy date." This is in some cases more convenient than using NULL values, and uses less data and index space. To disallow '0000-00-00', enable the NO_ZERO_DATE SQL mode.

                  更新

                  關于@Dylan-Su 所說的錯誤問題:

                  Regarding the bug matter as said by @Dylan-Su:

                  我不認為這是 MYSQL 隨著時間的推移演變的方式的錯誤,因為根據產品的進一步改進,某些事情發生了變化.

                  I don't think this is the bug it the way MYSQL is evolved over the time due to which some things are changed based on further improvement of the product.

                  但是我有另一個關于 NOW() 函數的相關錯誤報告

                  However I have another related bug report regarding the NOW() function

                  日期時間字段不接受默認的 NOW()

                  另一個有用的說明 [參見 TIMESTAMP 和 DATETIME 的自動初始化和更新]

                  從 MySQL 5.6.5 開始,TIMESTAMP 和 DATETIME 列可以自動初始化并更新為當前日期和時間(即當前時間戳).在 5.6.5 之前,這僅適用于 TIMESTAMP,并且每個表最多有一個 TIMESTAMP 列.下面的注釋首先描述了 MySQL 5.6.5 及更高版本的自動初始化和更新,然后是 5.6.5 之前版本的差異.

                  As of MySQL 5.6.5, TIMESTAMP and DATETIME columns can be automatically initializated and updated to the current date and time (that is, the current timestamp). Before 5.6.5, this is true only for TIMESTAMP, and for at most one TIMESTAMP column per table. The following notes first describe automatic initialization and updating for MySQL 5.6.5 and up, then the differences for versions preceding 5.6.5.

                  關于 NO_ZERO_DATE 的更新

                  自 MySQL 5.7.4 起,此模式已棄用.對于以前的版本,您必須注釋掉配置文件中的相應行.請參閱 關于 NO_ZERO_DATE 的 MySQL 5.7 文檔

                  As of MySQL as of 5.7.4 this mode is deprecated. For previous version you must comment out the respective line in the config file. Refer MySQL 5.7 documentation on NO_ZERO_DATE

                  這篇關于為 DATE 或 DATETIME 設置默認值時 MySQL 中的錯誤的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

                  【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

                  相關文檔推薦

                  How to use windowing functions efficiently to decide next N number of rows based on N number of previous values(如何有效地使用窗口函數根據 N 個先前值來決定接下來的 N 個行)
                  reuse the result of a select expression in the quot;GROUP BYquot; clause?(在“GROUP BY中重用選擇表達式的結果;條款?)
                  Does ignore option of Pyspark DataFrameWriter jdbc function ignore entire transaction or just offending rows?(Pyspark DataFrameWriter jdbc 函數的 ignore 選項是忽略整個事務還是只是有問題的行?) - IT屋-程序員軟件開發技
                  Error while using INSERT INTO table ON DUPLICATE KEY, using a for loop array(使用 INSERT INTO table ON DUPLICATE KEY 時出錯,使用 for 循環數組)
                  pyspark mysql jdbc load An error occurred while calling o23.load No suitable driver(pyspark mysql jdbc load 調用 o23.load 時發生錯誤 沒有合適的驅動程序)
                  How to integrate Apache Spark with MySQL for reading database tables as a spark dataframe?(如何將 Apache Spark 與 MySQL 集成以將數據庫表作為 Spark 數據幀讀取?)

                  <small id='0huFW'></small><noframes id='0huFW'>

                  1. <tfoot id='0huFW'></tfoot>
                    <i id='0huFW'><tr id='0huFW'><dt id='0huFW'><q id='0huFW'><span id='0huFW'><b id='0huFW'><form id='0huFW'><ins id='0huFW'></ins><ul id='0huFW'></ul><sub id='0huFW'></sub></form><legend id='0huFW'></legend><bdo id='0huFW'><pre id='0huFW'><center id='0huFW'></center></pre></bdo></b><th id='0huFW'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='0huFW'><tfoot id='0huFW'></tfoot><dl id='0huFW'><fieldset id='0huFW'></fieldset></dl></div>

                        <tbody id='0huFW'></tbody>
                      • <legend id='0huFW'><style id='0huFW'><dir id='0huFW'><q id='0huFW'></q></dir></style></legend>
                          <bdo id='0huFW'></bdo><ul id='0huFW'></ul>
                            主站蜘蛛池模板: 久久精彩视频 | 偷拍第一页 | 亚洲精品国产一区 | 91xxx在线观看 | 综合伊人 | 一区二区三区在线免费观看 | 欧美人妇做爰xxxⅹ性高电影 | 美国黄色毛片 | 日本三级全黄三级三级三级口周 | 一级一级毛片免费看 | 国产精品色哟哟网站 | 91福利在线导航 | 亚洲一区二区视频在线播放 | 中文字幕一区在线观看视频 | 日韩免费av一区二区 | 操视频网站 | av成年人网站| 欧美一级欧美三级在线观看 | 久久久精品一区 | 99久久99久久精品国产片果冰 | 国产在线精品一区二区三区 | 精品久久中文 | 中文字幕av免费 | 做a视频| 久久久69| 欧美在线播放一区 | 日韩中文一区 | 热99| 亚洲精品乱码久久久久久9色 | 久久伊人影院 | 欧美黄色片| 久久国品片 | 亚洲国产高清在线 | 亚洲免费一区二区 | 欧美日韩一区不卡 | 国产精品视频一区二区三区不卡 | 丁香婷婷成人 | 欧美日韩亚洲国产综合 | 免费黄色网址视频 | 国产精品1区| 中文字幕在线观 |