Postgresql
將 SQLlite 數據庫轉換為 PostgreSQL,但數據庫仍然無法工作
我原來的 SQLite 數據庫是這樣開始的:
#PRAGMA foreign_keys = off; #BEGIN TRANSACTION;
然後是一個帶有
AUTO_INCREMENT
欄位的表:CREATE TABLE inputs ( id INTEGER PRIMARY KEY AUTO_INCREMENT UNIQUE NOT NULL, name TEXT, inputid INT, connectionid INT, type INT, posx DOUBLE, posy DOUBLE );
我試圖改變
AUTO_INCREMENT
我試過這個:
BEGIN; CREATE TABLE inputs ( id SERIAL, name TEXT, inputid INT, connectionid INT, type INT, posx DOUBLE, posy DOUBLE ); COMMIT;
A
serial
並不意味著該列也是主(或唯一)鍵。在現代 Postgres 版本中,identity
列優先於serial
如手冊中所述,沒有數據類型
double
- 它被稱為double precision
所以表定義應該是:
create table inputs ( id integer primary key generated always as identity, name text, inputid int, connectionid int, type int, posx double precision, posy double precision );