加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

php – 使用应用程序代码强制执行NOT NULL是错误的吗?

发布时间:2020-12-11 23:43:22 所属栏目:MySql教程 来源:网络整理
导读:我的MySQL数据库中有大约6个表,比如 mysql describe Quiz;+--------------+-------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+--------------+-------------+------+-----+---------+---------------

我的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?

最佳答案 除了在代码中执行它之外,我可以给你两个理由在数据库中强制执行它.

>如果您的PHP代码中出现错误,您的数据将不会损坏.如果您只是检查数据库中的返回代码,您会立即注意到该错误.
>如果有人决定在数据库中手动更新数据,他们将无法错误地将字段保留为应用程序代码无法处理的NULL.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读