SQL 语句 "CREATE EXTENSION[*] IF NOT EXISTS UUID_OSSP " 中的语法错误
Syntax error in SQL statement "CREATE EXTENSION[*] IF NOT EXISTS UUID_OSSP "
我正在尝试创建 h2 数据库架构。这是我的 sql
create extension if not exists uuid_ossp;
create table users
(
user_id uuid default uuid_generate_v4() not null,
name varchar(255),
created_on timestamp,
modified_on timestamp
);
create table product
(
product_id uuid default uuid_generate_v4() not null,
name varchar(25),
created_on timestamp,
modified_on timestamp
);
create table products_users
(
user_id uuid,
product_id uuid
);
我得到一个错误
Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Syntax error in
SQL statement "CREATE EXTENSION[*] IF NOT EXISTS UUID_OSSP "; expected
"OR, FORCE, VIEW, ALIAS, SEQUENCE, USER, TRIGGER, ROLE, SCHEMA,
CONSTANT, DOMAIN, TYPE, DATATYPE, AGGREGATE, LINKED, MEMORY, CACHED,
LOCAL, GLOBAL, TEMP, TEMPORARY, TABLE, SYNONYM, PRIMARY, UNIQUE, HASH,
SPATIAL, INDEX"; SQL statement: create extension if not exists
uuid_ossp [42001-199]
我通过删除 create extension if not exists uuid_ossp;
并在表中添加 default random_uuid()
而不是 default uuid_generate_v4()
解决了这个问题。
对我来说,当我尝试使用 CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
就像@annswerg 试过的那样,它给了我以下错误,
错误:“CREATE EXTENSION IF NOT EXISTS ”处或附近的语法错误
第 1 行:如果不存在则创建扩展名“uuid-ossp”;
但是当我运行关注时,它没有任何错误,
创建扩展“uuid-ossp”;
没有 IF NO EXIST,
而我的 postgresql 版本是 PostgreSQL 10.15 (Ubuntu 10.15-0ubuntu0.18.04.1)
希望对以后可能遇到类似问题的人有所帮助。
我正在尝试创建 h2 数据库架构。这是我的 sql
create extension if not exists uuid_ossp;
create table users
(
user_id uuid default uuid_generate_v4() not null,
name varchar(255),
created_on timestamp,
modified_on timestamp
);
create table product
(
product_id uuid default uuid_generate_v4() not null,
name varchar(25),
created_on timestamp,
modified_on timestamp
);
create table products_users
(
user_id uuid,
product_id uuid
);
我得到一个错误
Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Syntax error in SQL statement "CREATE EXTENSION[*] IF NOT EXISTS UUID_OSSP "; expected "OR, FORCE, VIEW, ALIAS, SEQUENCE, USER, TRIGGER, ROLE, SCHEMA, CONSTANT, DOMAIN, TYPE, DATATYPE, AGGREGATE, LINKED, MEMORY, CACHED, LOCAL, GLOBAL, TEMP, TEMPORARY, TABLE, SYNONYM, PRIMARY, UNIQUE, HASH, SPATIAL, INDEX"; SQL statement: create extension if not exists uuid_ossp [42001-199]
我通过删除 create extension if not exists uuid_ossp;
并在表中添加 default random_uuid()
而不是 default uuid_generate_v4()
解决了这个问题。
对我来说,当我尝试使用 CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
就像@annswerg 试过的那样,它给了我以下错误,
错误:“CREATE EXTENSION IF NOT EXISTS ”处或附近的语法错误 第 1 行:如果不存在则创建扩展名“uuid-ossp”;
但是当我运行关注时,它没有任何错误,
创建扩展“uuid-ossp”;
没有 IF NO EXIST,
而我的 postgresql 版本是 PostgreSQL 10.15 (Ubuntu 10.15-0ubuntu0.18.04.1)
希望对以后可能遇到类似问题的人有所帮助。