false t.integer -6ren">
gpt4 book ai didi

mysql - 什么时候应该在 MySQL 表中使用 "NOT NULL",有什么好处吗?

转载 作者:可可西里 更新时间:2023-11-01 06:32:11 24 4
gpt4 key购买 nike

我有以下 rails 迁移:

create_table :articles do |t|
t.integer :user_id, :allow_null => false
t.integer :genre_id, :allow_null => false
t.string :url, :limit => 255, :allow_null => false
t.string :title, :limit => 60, :allow_null => false
t.text :summary, :limit => 350, :allow_null => false
t.integer :votes_count, :default => 0
t.datetime :published_at, :default => nil
t.timestamps
end

首先在模型中验证所有“NOT NULL”字段,所以我想知道是否需要在迁移中使用 allow_null?我不确定“NOT NULL”对数据库有什么好处(如果有的话)。

最佳答案

如果您指的是性能或存储效率,那就不多了。但是,将尽可能多的低级约束推送到数据库层只是一种很好的做法。一方面,它保证 Rails 中的细微错误不会导致非空字段中出现一些随机的 NULL 数据。同样,如果您曾经针对同一个数据库运行另一个应用程序,那么将约束放在一个中心位置以进行维护和避免重复将非常有帮助。

关于mysql - 什么时候应该在 MySQL 表中使用 "NOT NULL",有什么好处吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/240544/

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