為什麼我在 MySQL 中收到「日期值不正確」錯誤?

Susan Sarandon
發布: 2024-10-29 07:55:02
原創
425 人瀏覽過

Why am I getting an

MySQL 中的日期值錯誤

嘗試將資料插入 MySQL 表時,可能會出現錯誤代碼 1292,表示錯誤日期值。當使用 MySQL 不支援的日期格式時,通常會遇到此錯誤。

在給定的範例中,查詢嘗試插入「dd-mm-yyyy」格式的日期,但該格式無法辨識由 MySQL 提供。若要解決此問題,必須將查詢中的日期格式變更為支援的格式。

在 MySQL 5.7 及更高版本中,預設的 SQL 模式是嚴格的,不允許某些操作,包括插入無效日期。若要允許日期為零值(例如「0000-00-00 00:00:00」),必須修改 SQL 模式。

解決錯誤1292 的步驟:

  1. 編輯MySQL設定檔:

      編輯MySQL設定檔:
    • 使用文字編輯器開啟MySQL設定檔/etc/mysql/my.cnf(例如, nano)。
  2. 找到 [mysqld] 部分。
    • 新增新的SQL 模式設定:
    sql_mode="NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
    登入後複製
    將以下行加入[mysqld] 部分:
  3. 將以下行加入[mysqld] 部分:

    • 重新啟動MySQL 伺服器:
    sudo service mysql restart
    登入後複製
  4. 執行以下指令

    重新插入資料:
    重新啟動後MySQL,使用正確的日期格式(例如'2012-05-01')重新執行查詢。
  5. 附加說明:
    • 對於 5.7 之前的 MyROSQL 版本,可以改用 ZERODATE 和 NO_ZE_IN_DATEDATE SQLSQL 版本,可以改用 ZERODATE 和 NO_ZE_IN_DATEDATE SQLSQL 版本。
    如果錯誤仍然存在,請檢查為 data_apertura 列定義的資料類型和約束表。

以上是為什麼我在 MySQL 中收到「日期值不正確」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板