1

これに似たセットアップを持つユーザー用のデータベーステーブルがあります。

+---------------------+--------------+------+-----+------------+----------------+
| Field               | Type         | Null | Key | Default    | Extra          |
+---------------------+--------------+------+-----+------------+----------------+
| id_user             | int(5)       | NO   | PRI | NULL       | auto_increment |
| login               | varchar(50)  | NO   |     |            |                |
| password            | varchar(50)  | NO   |     |            |                |
| address             | varchar(255) | NO   |     | NULL       |                |
+---------------------+--------------+------+-----+------------+----------------+

住所フィールドは非 null に設定されており、デフォルトは null であるため、実質的に住所フィールドが必須になるはずです。

しかし、次のようなクエリを実行すると:

INSERT INTO mydatabase.users
SET
    mydatabase.users.login='test_username',
    mydatabase.users.password='test_password'

空のスペースに設定されているアドレス フィールドについて文句を言うことなく、ユーザーを正常に保存します。

何が原因でしょうか? このような状況ではエラーが発生することが予想されます。MySQL 5.5 および 5.6 で試しました。

4

1 に答える 1