shi*_*eng 17 sql amazon-redshift
由于Redshift不支持ALTER COLUMN,我想知道是否可以从Redshift中的列中删除NOT NULL约束.
Rah*_*thi 29
你无法改变这张桌子.
还有另一种方法.您可以使用NULL约束创建新列.将旧列中的值复制到此新列,然后删除旧列.
像这样的东西:
ALTER TABLE table1 ADD COLUMN somecolumn (definition as per your reqm);
UPDATE table1 SET somecolumn = oldcolumn;
ALTER TABLE table1 DROP COLUMN oldcolumn;
ALTER TABLE table1 RENAME COLUMN somecolumn TO oldcolumn;
Run Code Online (Sandbox Code Playgroud)
没有办法在Redshift上更改列.
我建议您创建新列,将值从旧列复制到新列并删除旧列.
ALTER TABLE Table1 ADD COLUMN new_column (___correct_column_definition___);
UPDATE Table1 SET new_column = column;
ALTER TABLE Table1 DROP COLUMN column;
ALTER TABLE Table1 RENAME COLUMN new_column TO column;
Run Code Online (Sandbox Code Playgroud)