MySQL 表结构字段 face char(20) NOT NULL 。
插入数据的时候,当face值设置为NULL,报错 MySQL SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'face' cannot be null
MariaDB [db2_dalu]> select version();
+--------------------+
| version() |
+--------------------+
| 5.5.41-MariaDB-log |
+--------------------+
1 row in set (0.00 sec)
但是我本地却没有这样的情况,本地的MySQL版本:
mysql> select version();
+------------+
| version() |
+------------+
| 5.6.17-log |
+------------+
1 row in set (0.00 sec)
mysql>
이렇게 게시하는 이유가 무엇입니까? 삽입하는 동안 분명히 문제가 있습니다. 삽입된 코드를 게시해야 합니다.
그리고 프롬프트에는 아무 문제가 없다고 생각합니다. 왜냐하면 null 값을 삽입할 때 알림을 주지 않는 것이 이상할 것입니다.
당연히 not null이 설정되어 있어서 null 값을 삽입할 수 없습니다. 이전에 로컬 버전을 삽입할 수 있다고 말씀하셨는데, 이건 초자연적인 현상이군요.
상위 버전일수록 제한이 더 엄격해서 그런 걸까요?
이것. . MySQL의 엄격 모드이든 비엄격 모드이든 null 값을 상기시킬지 여부를 설정할 수 있습니다.