在 PostgreSQL 中有条件地创建表
在 MySQL 中,CREATE TABLE IF NOT EXISTS 语法允许您仅在不存在时创建表已经存在。这可以防止多次运行脚本时意外重新创建表。
PostgreSQL 9.1 及更高版本
PostgreSQL 9.1 引入了与 MySQL 相同的功能:
CREATE TABLE IF NOT EXISTS myschema.mytable (i integer);
PostgreSQL 之前的版本9.1
对于旧版本的 PostgreSQL,您可以使用解决方法函数:
CREATE OR REPLACE FUNCTION create_mytable() RETURNS void LANGUAGE plpgsql AS $func$ BEGIN IF EXISTS (SELECT FROM pg_catalog.pg_tables WHERE schemaname = 'myschema' AND tablename = 'mytable') THEN RAISE NOTICE 'Table myschema.mytable already exists.'; ELSE CREATE TABLE myschema.mytable (i integer); END IF; END $func$;
调用函数来创建表:
SELECT create_mytable();
备注:
以上是如何在 PostgreSQL 中创建尚不存在的表?的详细内容。更多信息请关注PHP中文网其他相关文章!