gpt4 book ai didi

MySQL、AUTO_INCREMENT 和 NOT NULL

转载 作者:行者123 更新时间:2023-11-29 02:22:42 28 4
gpt4 key购买 nike

在 MySQL 表中,您显然可以将 INT 设置为 NOT NULL 和 AUTO_INCREMENT,但是当它们一起工作时,当您拥有后者时,前者真的是必要的吗?

除此之外,删除 NOT NULL 是否有任何性能、内存、存储或速度奖励?

最佳答案

作为良好的设计,如果列需要一个值才能正常运行,则应将其声明为 NOT NULL。

也就是说,实际上,将自动增量列声明为可为 null 意味着您可以将 null 值显式传递给它,并且仍然会为该列生成一个值。

http://dev.mysql.com/doc/refman/5.7/en/example-auto-increment.html

在提高效率和空间方面,最好将列设置为 UNSIGNED,因为它永远不会取负值,并使用与表大小保持同步的最小数据类型。

根据定义,所有列约束都会对性能造成一定的影响,因为服务器必须投入资源来存储和检查约束。

但这是微不足道的,特别是对于检查空值之类的常规操作,而且,如果它在您的记录中强制执行有效性,那么这是值得的。

关于MySQL、AUTO_INCREMENT 和 NOT NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28770454/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com