我用以下命令重命名了我的表ALTER TABLE _ RENAME TO _:
ALTER TABLE foods RENAME TO food;
ALTER TABLE foods_nutrients RENAME TO food_nutrient;
Run Code Online (Sandbox Code Playgroud)
它有效,但是包含这些表名的其他数据库对象(例如索引、序列和约束)没有更新。所以我必须像这样手动更新它们:
ALTER INDEX foods_pkey RENAME TO food_pkey;
ALTER SEQUENCE foods_id_seq RENAME TO food_id_seq;
ALTER TABLE food_nutrient RENAME CONSTRAINT foods_nutrients_food_id_fkey TO food_nutrient_food_id_fkey;
Run Code Online (Sandbox Code Playgroud)
没有必要重新命名它们,但不这样做感觉不对。我想知道是否有命令可以自动执行此操作。或者重命名所有包含旧表名的对象并不常见?
| 归档时间: |
|
| 查看次数: |
1984 次 |
| 最近记录: |