我正在使用Evolutions构建数据库。我的1.sql
是:
# User schema
# --- !Ups
create table user (
id` BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
first_name TEXT NOT NULL,
last_name TEXT NOT NULL,
mobile BIGINT NOT NULL,
email TEXT NOT NULL
)
# --- !Downs
drop table user
当我开始运行我的网络应用程序时,我从Evolutions收到此错误消息:
我们收到以下错误:
错误:“user”位置或附近的语法错误位置:14 [ERROR:0,SQLSTATE:42601],尝试运行此SQL脚本时:
我很难过,因为据我所知,它在语法上是正常的。
(图片here)
(我的网络应用是play-slick3-steps应用,但使用PostgreSQL作为数据库而不是MySQL)
答案 0 :(得分:3)
user
是Postgres中的保留字。你可以使用引号("
s)来逃避它:
create table "user" (
id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
first_name TEXT NOT NULL,
last_name TEXT NOT NULL,
mobile BIGINT NOT NULL,
email TEXT NOT NULL
)
或者,更好的是,将其名称更改为不是保留字的内容,例如users
(复数形式)。