0

Veri tabanı oluşturmak için Evolutions kullanıyorum. Benim 1.sql geçerli: Evrim, SQL'in bir sözdizimi hatası verdiğini söylüyor

Biz aşağıdaki hata var:

ERROR: syntax error at or near "user" Position: 14 [ERROR:0, SQLSTATE:42601], while trying to run this SQL script:

Çünkü olarak stumped benim web uygulaması çalıştırmaya başladığınızda

# 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 

, ben Evrimlerine bu hata mesajını almak söyleyebileceğim kadarıyla sözdizimsel olarak tamam.

(Resim here)

(My web uygulaması play-slick3-steps uygulama olmakla birlikte, MySQL yerine veritabanı olarak PostgreSQL kullanarak)

+3

Bu "id" alanından sonra backtick nedir? Kopyala/yapıştır hata? – slouc

+0

Postgres'te 0 AUTO_INCREMENT öğesi yok –

cevap

3

user Postgres ayrılmış bir kelimedir. Sen tırnak (" ler) kullanarak bunu kaçabilirdi ya:

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 
) 

Veya daha iyisi, örneğin (çoğul olarak) users gibi ayrılmış bir kelime değil bir şey, adını değiştirerek.

+0

Postgres'te "AUTO_INCREMENT" özelliği de yok. 'Bigserial birincil anahtar' olmalıdır –