我在PostgreSQL中的表的主鍵:如何使用自動增加使用PyGreSQL和PostgreSQL
CREATE SEQUENCE dember_id_seq INCREMENT BY 1 MINVALUE 1 START 1;
CREATE TABLE dember (id INT NOT NULL, did VARCHAR(255) DEFAULT NULL, dnix VARCHAR(255) DEFAULT NULL, durl TEXT DEFAULT NULL, created TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, modified TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, status BOOLEAN NOT NULL, dnickname VARCHAR(255) DEFAULT NULL, PRIMARY KEY(id));
當我想插入一條記錄,我用下面的代碼:
import pg
db = pg.DB(....)
db.insert('dember',{'did':did,'dnix':dnix,'durl',durl,'created',now, 'modified':now, 'status':'true','dnickname':nickname'})
然後在插入代碼不能正常工作,我得到以下錯誤:
pg.ProgrammingError: ERROR: null value in column "id" violates not-null constraint
看來,我必須添加{「ID」:數}到值字典。
有什麼建議嗎?謝謝。
感謝它現在解決。 – 2012-07-17 03:34:37
CREATE TABLE dember(id INT NOT NULL DEFAULT nextval('dember_id_seq'),VARCHAR(255)DEFAULT NULL,dnix VARCHAR(255)DEFAULT NULL,durl TEXT DEFAULT NULL,創建TIMESTAMP(0)WITHOUT TIME ZONE NOT NULL,modified TIMESTAMP(0)WITHOUT TIME ZONE NOT NULL,狀態BOOLEAN NOT NULL,dnickname VARCHAR(255)DEFAULT NULL,PRIMARY KEY(id)); – 2012-07-17 03:34:46