ALTER TABLE only allows columns to be added that can contain nulls, or have a DEFAULT definition specified, or the column being added is an identity or timestamp column, or alternatively if none of the previous conditions are satisfied the table must be empty to allow addition of this column. Column 'S_id' cannot be added to non-empty table 'usertable' because it does not satisfy these conditions.
时间: 2024-03-05 08:53:24 浏览: 114
这个错误提示是因为在非空表中添加非空列时,必须满足以下条件之一:
1. 新增列可以包含 NULL 值;
2. 新增列必须具有默认值;
3. 新增列是标识列或时间戳列;
4. 如果上述条件都不满足,则表必须为空才能添加此列。
因此,您需要满足其中一个条件才能成功添加列。例如,您可以为新列指定默认值,如下所示:
```
ALTER TABLE usertable ADD S_id varchar(10) NOT NULL DEFAULT 'unknown';
```
这样就可以为 `usertable` 表添加一个名为 `S_id` 的 `varchar(10)` 类型的新列,该列默认值为 `'unknown'`,并允许为空。
阅读全文