我的MySQL数据库中有大约6个表,比如
MysqL> describe Quiz;
+--------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------+-------------+------+-----+---------+----------------+
| quiz_id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(25) | YES | | NULL | |
| category | varchar(20) | YES | | NULL | |
| is_published | tinyint(1) | YES | | 0 | |
| open_count | int(11) | YES | | 0 | |
| finish_count | int(11) | YES | | 0 | |
+--------------+-------------+------+-----+---------+----------------+
在所有6个表中,在编写CREATE TABLE时…我没有对每个属性强制执行NOT NULL(如上所示),但它们应该是NOT NULL.
将使用我的PHP代码在这些表中插入行.所以在插入之前我可以确保它们都不是NULL.
我想知道,如果使用应用程序代码强制执行NOT NULL可能存在缺陷,而不是MysqL?