这是在PostgreSQL中创建新表的方法,
CREATE TABLE foo (
foo_id int PRIMARY KEY,
bar text,
);如果需要检查表是否已经存在,并且只有在找不到表时才继续执行CREATE,我如何做到这一点?
发布于 2018-06-17 19:33:57
它需要检查该表是否已经存在,并仅在未找到时创建?
根本没有符合标准的方法,但是PostgreSQL 9.1+支持带有IF NOT EXISTS子句的公共扩展,
CREATE TABLE IF NOT EXISTS foo (
foo_id int PRIMARY KEY
);如果表(本例中为foo)不存在,则只会得到一个NOTICE (而不是ERROR)
注意:关系"foo“已经存在,跳过
注意:虽然DDL IF NOT EXISTS语法是非标准的,但其他数据库(如MySQL )也可能支持它,而Server的transact SQL支持其IF NOT EXISTS (query) ... DDL ... GO的一个变体。
https://dba.stackexchange.com/questions/209862
复制相似问题