私はpsycopg2
ライブラリを使用してPython経由でアクセスしているpostgresデータベースを持っています。 id
列がbigserial
autoincrementに新しいエントリとして作成されたpsycopg2は特定の列に挿入できません
Table "public.programmes"
Column | Type | Modifiers | Storage | Stats target | Description
-------------+-----------------------------+---------------------------------------------------------+----------+--------------+-------------
id | bigint | not null default nextval('programmes_id_seq'::regclass) | plain | |
title | character varying | not null | extended | |
start | timestamp without time zone | not null | plain | |
end | timestamp without time zone | not null | plain | |
description | character varying | not null | extended | |
genre | character varying | not null | extended | |
edited | boolean | not null | plain | |
:テーブルには、私はこのようなルックスに挿入しようとしています。
id
列は自動インクリメントされるので、残りのフィールドに関するデータを挿入しようとします。私は、リストなどのデータを作成し、このようにそれを挿入しよう:
def main():
postConn = psycopg2.connect("dbname=TEST host=127.0.0.1 user=user")
postCur = postConn.cursor()
prog_data = form_programme_data()
#prog_data = ['The Next Step', '2016-05-29T10:20:00', '2016-05-29T10:45:00', "2/34. My Boyfriend's Back: Reality-style drama following a group of dancers. A-Troupe meets their new choreographer and votes for open auditions for the nationals team. Also in HD. [S]", 'Lifestyle', False]
postCur.execute("""INSERT INTO programmes(title, start, end, description, genre, edited) VALUES (%s, %s, %s, %s, %s, %s);""", prog_data)
そして私は、このエラーがスローされます:
Traceback (most recent call last):
File "convert_db.py", line 58, in <module>
main()
File "convert_db.py", line 32, in main
postCur.execute("""INSERT INTO programmes(title, start, end, description, genre, edited) VALUES (%s, %s, %s, %s, %s, %s);""", prog_data)
psycopg2.ProgrammingError: syntax error at or near "end"
LINE 1: INSERT INTO programmes(title, start, end, description, genre...
^
私は、列名を指定せずに挿入しようとする場合には、それが期待を私が触れることができないid
の値。提供された最初の2つのカラム名については不平を言っていませんが何らかの理由でend
が好きではありません。
何か助けていただければ幸いです。
ありがとう。あなたとadvance512はキーワード「end」について正しいと私は引用符を追加して、意図したとおりに働いています!もう一度ありがとう。 – Shiri
答えを受け入れる、それはあなたのために働いた場合、感謝される:) – advance512