如何在模式中重命名 table?
How to rename a table inside a schema?
我正在使用 PostgreSQL 9.x,我想重命名一个 table。这个SQL代码:
CREATE TABLE new (id int);
ALTER TABLE new RENAME TO old;
DROP TABLE old;
正确重命名 table。但是这个 SQL 代码:
CREATE SCHEMA domain;
CREATE TABLE domain.old (id int);
ALTER TABLE domain.old RENAME TO domain.new;
失败,错误:
ERROR: syntax error at or near "."
“.”下划线是 'domain' 和 'new'
之间的那个
一种方法:
ALTER TABLE domain.old RENAME TO new
其他方式:
SET search_path TO domain;
ALTER TABLE old RENAME TO new;
search_path
的文档。
- 切换到您的数据库
machine$\c my_database
- 命名数据库
my_databse=# alter table old_name rename to new_name;
SET search_path TO domain;
ALTER TABLE IF EXISTS old_table_name RENAME TO new_table_name;
我正在使用 PostgreSQL 9.x,我想重命名一个 table。这个SQL代码:
CREATE TABLE new (id int);
ALTER TABLE new RENAME TO old;
DROP TABLE old;
正确重命名 table。但是这个 SQL 代码:
CREATE SCHEMA domain;
CREATE TABLE domain.old (id int);
ALTER TABLE domain.old RENAME TO domain.new;
失败,错误:
ERROR: syntax error at or near "."
“.”下划线是 'domain' 和 'new'
之间的那个一种方法:
ALTER TABLE domain.old RENAME TO new
其他方式:
SET search_path TO domain;
ALTER TABLE old RENAME TO new;
search_path
的文档。
- 切换到您的数据库
machine$\c my_database
- 命名数据库
my_databse=# alter table old_name rename to new_name;
SET search_path TO domain;
ALTER TABLE IF EXISTS old_table_name RENAME TO new_table_name;