在PostgreSQL文档中,我找不到一种方法可以运行这样的语句:ALTER TABLE tablename RENAME COLUMN IF EXISTS colname TO newcolname;
。
我希望我们可以实现这个功能,因为我遇到了一个错误,这取决于谁制作并提供给我一个SQL脚本,在某些情况下一切都很完美(当列名称错误时,使用RENAME
语句会更改名称),而在其他情况下不完美(当列已经有正确的名称时)。
因此,我的想法是在尝试重命名列时使用IF EXISTS
语句来检查列名。如果列已经具有正确的名称(这里是cust_date_mean
),那么必须应用的重命名命令只能跳过错误的名称,而不发出以下错误:
db_1 | [223] ERROR: column "cust_mean" does not exist
db_1 | [223] STATEMENT: ALTER TABLE tablename RENAME COLUMN cust_mean TO cust_date_mean;
db_1 | ERROR: column "cust_mean" does not exist
(与此同时,我将与团队澄清事情,因此,如果不存在这样的命令,也不是大问题,但我认为它可能会有所帮助。)