改变表格
让我们创建两个简单的表:
CREATE TABLE users (username text, email text);
CREATE TABLE simple_users () INHERITS (users);
添加列
ALTER TABLE simple_users ADD COLUMN password text;
simple_users
| 行 | 类型 | 
|---|---|
| 用户名 | 文本 | 
| 电子邮件 | 文本 | 
| 密码 | 文本 | 
将相同列添加到父表将合并两列的定义:
ALTER TABLE users ADD COLUMN password text;
注意:合并子项“simple_users”列
password的定义
删除列
使用我们改变的表格:
ALTER TABLE users DROP COLUMN password;
用户
| 行 | 类型 | 
|---|---|
| 用户名 | 文本 | 
| 电子邮件 | 文本 | 
simple_users
| 行 | 类型 | 
|---|---|
| 用户名 | 文本 | 
| 电子邮件 | 文本 | 
| 密码 | 文本 | 
由于我们首先将列添加到 simple_users,因此 PostgreSQL 确保不会删除此列。
现在,如果我们有另一个子表,它的 password 列当然会被删除。