无法在Squirell SQL Client中更改列

时间:2015-10-14 12:31:55

标签: sql database database-schema ingres

我正在尝试更改ingres DB中的列以扩展列的大小。

我正在运行的查询是

ALTER TABLE test_table ALTER COLUMN address varchar(100) NOT NULL

哪个错误

  

错误:ALTER TABLE:ALTER COLUMN上属性的无效更改

     

SQLState:42000 ErrorCode:3859

任何人都知道我为什么会收到此错误?我已经检查了改变表格的语法。

1 个答案:

答案 0 :(得分:0)

您的数据可能有NULL。首先更新您的表(设置为空字符串或您想要的任何值):

<强> LiveDemo

UPDATE test_table
SET address = ''         -- or another value indicating missing addres like 'none'
WHERE address IS NULL;

然后尝试:

ALTER TABLE test_table ALTER COLUMN address varchar(100) NOT NULL;

修改

如果您不想强制执行NOT NULL,请使用:

<强> LiveDemo2

ALTER TABLE test_table ALTER COLUMN address varchar(100);