无法使用默认参数插入数据库

时间:2015-03-26 19:00:58

标签: python postgresql psycopg2

我创建了下表

CREATE TABLE mytable (database_id  SERIAL PRIMARY KEY,contentCHAR(150));

但我无法使用默认选项插入行,因此database_id将自动递增

import psycopg2

conn = psycopg2.connect(database="mydatabase", user="Username", ")

information= 'Lorem ipsum dolor sit amet. '

cur.execute("INSERT INTO mytable (database_id, content) VALUES (default, 'information');")

cur.execute("INSERT INTO mytable (database_id, content) VALUES (%s, %s)", (default , "information"))

conn.commit()

第一个选项采用'default'参数而不是内容而另一个采用相反的

2 个答案:

答案 0 :(得分:1)

请避免在database_id上​​放置任何参数,以便自动生成:

import psycopg2

conn = psycopg2.connect(database="mydatabase", user="Username")

information= 'Lorem ipsum dolor sit amet. '

cur.execute("INSERT INTO mytable (content) VALUES (%s)", (information))

conn.commit()

答案 1 :(得分:0)

为什么使用default。根据{{​​1}}:

  

PostgreSQL的数据类型是smallserial,serial和bigserial;这些不是真正的类型,而只是创建唯一标识符列的标记方便。这些类似于其他一些数据库支持的AUTO_INCREMENT属性。

所以试试吧。

postgresql