###実現したいこと
現在WEBサイトの制作をしております。
サイト上のフォームから入力したデータを受け取り、
IDを連番で振る形でデータベースへ保存したいと思っております。
使用言語・・・python
データベース・・・postgreSQL
コネクタ・・・psycopg2
下記、現在書いているコードの一部になります。
if request.method == "POST": opinion = request.forms.opinion_name db = psycopg2.connect(xxxxxx) cursor = db.cursor() **new_id = cursor.execute("SELECT max(id) + 1 from tablename")** cursor.execute("INSERT INTO tablename(id,opinion) VALUES(%s, %s)",(new_id, opinion)) db.commit() cursor.close() db.close()
idカラムの最大値に1加えていくことでidを連番にし、
付随した形でopinionを保存しようという目的です。
しかしブラウザ上でテキストを送信すると、
下記のようなエラーが出てしまいます。
Exception: IntegrityError('null value in column "id" violates not-null constraint\nDETAIL: Failing row contains (null, aaaa).\n',) Traceback: psycopg2.IntegrityError: null value in column "id" violates not-null constraint DETAIL: Failing row contains (null, aaaa).
上記のようにnew_idに数値が代入できていないようですが、
その理由が分からず躓いております。
何卒ご意見賜れればと思います。
宜しくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/03/27 12:57
2017/03/27 12:58