PostgreSQL中如何为已有SQL表添加带默认值的列?
PostgreSQL 添加带默认值列的最优方案
要实现给已有数据的表添加rating列(默认值为5,且现有行自动填充该值),直接使用ALTER TABLE语句是最高效的方式:
ALTER TABLE your_table_name ADD COLUMN rating INTEGER DEFAULT 5;
说明
- 这条语句会在表中新增
rating列,同时自动为所有已存在的行填充默认值5,无需额外执行UPDATE语句。 - 对于PostgreSQL 11及以上版本,该操作仅修改表的元数据,不需要扫描全表,执行速度极快;即使是旧版本,也会自动处理现有数据的填充,无需手动干预。
- 后续插入新行时,如果不指定
rating的值,系统会自动使用默认值5。
执行完成后,表结构和数据就会符合你的预期。
内容的提问来源于stack exchange,提问作者l_zAn
相关产品推荐
相关产品推荐

