1
我已经得到了用户的数据库表具有类似于这样的设置:MySQL允许插入即使必填字段不存在
+---------------------+--------------+------+-----+------------+----------------+
| 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试了一下。
每天学习新东西,谢谢!我将它添加到我的my.ini文件中:'sql-mode =“STRICT_TRANS_TABLES”'现在它的工作方式如何。 – Chris