Python3 sqlite выбрать первичный ключ и вставить то же значение в другую таблицу - PullRequest
0 голосов
/ 28 октября 2018
import sqlite3

conn = sqlite3.connect('animelist2.sqlite')
cur = conn.cursor()
~
~
~
cur.execute('''CREATE TABLE IF NOT EXISTS Production (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE, p_name TEXT)''')

i_production = input('Insert production: ')
cur.execute('''INSERT INTO Production (p_name) VALUES (?)''', (i_production))
f_production = cur.execute("SELECT id From Production WHERE p_name = i_production ").fetchone()[0]
~
~
~
cur.execute('''INSERT INTO Title (t_name, genre_id, production_id, year_id ) VALUES (?,?,?)''', (i_title, f_genre, f_production, f_year ))

извините, я не знаю как? Что?чтобы назвать название .... (извините за мой плохой английский)

Я принес некоторые части своих кодов, произошла ошибка

, когда я пытаюсь это сделать, он говорит: «Нет такой колонки: i_production»

Я думаю, что я не могу использовать эту переменную 'i_production' в последней строке 'f_production = cur.execute ("SELECT id From Production WHERE p_name = i_production") .fetchone () [0]'

есть ли другие способы?

Я хочу выбрать первичный ключ «производственный идентификатор» и вставить то же значение в другую таблицу, что и внешний ключ

1 Ответ

0 голосов
/ 28 октября 2018

Обидная строка выглядит следующим образом:

f_production = cur.execute("SELECT id From Production WHERE p_name = i_production ").fetchone()[0]

Полагаю, вы хотите:

f_production = cur.execute("SELECT id From Production WHERE p_name = ?", [i_production]).fetchone()[0]
...