Я знаю, что есть буквально десятки вопросов об одной и той же ошибке, и я проверил их все. Большинство из них связаны с тем, что кто-то неправильно использовал инструкцию SELECT
, и я не мог найти никаких проблем, подобных моим.Почему INSERT INTO с ошибкой «Операнд должен содержать 1 столбец»?
conn = pymysql.connect(host='localhost',
port=3306,
user='root',
passwd='password',
db='nhl')
cur = conn.cursor()
#some code...
player = td.string.strip()
player = player.split(' (')
tID = teamList.index(team)
cur.execute("INSERT INTO players (Name,G,A,P,PlusMinus,PIM,S,H,BKS,GVA,TKA,TeamID)
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
(player, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, tID))
pymysql.err.InternalError: (1241, 'Operand should contain 1 column(s)')
Я действительно не знаю, где я буду неправильно. Все столбцы базы данных: INT
, за исключением Name
, который составляет VARCHAR
. Это закодировано в Python 3.4 с использованием pymysql.
Я предполагаю, что в коде после 'TeamID) нет новой строки' ', и вы только добавили его здесь для удобочитаемости? – Kos
Да, весь этот оператор выполнения находится на одной строке – Tiberiu
ahhh это простые ошибки, которые вы никогда не замечаете! Cheers – Tiberiu