LoginSignup
3
3

More than 1 year has passed since last update.

phpMyAdminのエラーコード#1067を解消する方法

Posted at

発生しているエラー

既存のテーブルにカラムを挿入しようとしたら、次のエラーが発生した。
スクリーンショット 2021-05-20 113740.jpg

エラーが発生している原因

SQLモードの NO_ZERO_DATE が有効になっている事。
NO_ZERO_DATEが有効になっていると、サーバーが0000-00-00を有効な日付として挿入を許可する。
ただ、他のカラムで更新日などを管理している場合、新規挿入するカラムの更新日として挿入される0000-00-00と更新日を管理するカラムのデフォルト値などが競合してしまうため、phpMyAdminがエラーとして警告を出している。
(自分はこう認識したが、正しいかどうかは自信がない…)

エラー解消法

自分はXAMPPからMySQLphpMyAdminを利用しているため、その環境での解消法を記す。

  1. XAMPPのコントロールパネルからMySQLconfigボタンを押し、my.iniを開く。
  2. my.iniの中にsql_mode=~という文字列があるため、その中にあるNO_ZERO_DATEを削除する。

    my.ini
    ## UTF 8 Settings
    #init-connect=\'SET NAMES utf8\'
    #collation_server=utf8_unicode_ci
    #character_set_server=utf8
    #skip-character-set-client-handshake
    #character_sets-dir="C:/xampp/mysql/share/charsets"
    sql_mode=NO_ZERO_IN_DATE,NO_ZERO_DATE,NO_ENGINE_SUBSTITUTION
    log_bin_trust_function_creators=1
    
  3. XAMPPのコントロールパネルからMySQLを再起動。

  4. 追加したかったカラムを挿入できるか確認。

参考資料

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3