改变表格
让我们创建两个简单的表:
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
列当然会被删除。