Skip to content

yokogawa-k/mysql-column-null-error

Repository files navigation

これは何か

MySQL Bugs: #85805: Incorrect ER_BAD_NULL_ERROR after LOAD DATA LOCAL INFILE のバクの検証用レポジトリです。

バグの内容

MySQL 5.7.17 (5.7.16 でも発生するので 5.7.17 に限るわけではない模様) で NULL ではないカラムに LOAD DATA LOCAL INFILE などで NULL を import した後(これ自体はどのバージョンでもできる)に、同じセッション で INSERT や UPDATE を実施すると Column 'addr' cannot be null と言うエラーが発生しました。

これはエラーを再現する最小限の sql と docker-compose.yml になります。

docker-compose を使う必要は必ずしもありません。

再現方法

  • LOAD.sql を適切な箇所に配置する(デフォルトでは /work/LOAD.sql
  • mysql <error.sql を実行する

実行例

付属の docker-compose を利用

$ # コンテナの起動
$ docker-compose up -d
Creating network "mysqlcolumnnullerror_default" with the default driver
Creating mysqlcolumnnullerror_mysqld_1
$ # 起動の確認
$ docker-compose ps
            Name                          Command             State    Ports
------------------------------------------------------------------------------
mysqlcolumnnullerror_mysqld_1   docker-entrypoint.sh mysqld   Up      3306/tcp
$ # コンテナに入って作業
$ docker exec -it mysqlcolumnnullerror_mysqld_1 bash
root@1fb43a1209d2:/# # エラーが発生する sql の実行(mysql に入って作業しても再現できる)
root@1fb43a1209d2:/# mysql </work/error.sql
@@session.sql_mode
ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
*************************** 1. row ***************************
  Level: Warning
   Code: 1263
Message: Column set to default value; NULL supplied to NOT NULL column 'addr' at row 1
*************************** 1. row ***************************
  id: 1
addr:
ERROR 1048 (23000) at line 17: Column 'addr' cannot be null
root@1fb43a1209d2:/# # 別セッションでの確認とセッションが別になると問題ないことの確認
root@1fb43a1209d2:/# mysql bar -e 'SELECT * FROM ip\G;UPDATE ip SET addr="192.168.0.1" WHERE id = 1;SHOW WARNINGS;SELECT * FROM ip\G'
*************************** 1. row ***************************
  id: 1
addr:
*************************** 1. row ***************************
  id: 1
addr: 192.168.0.1

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published