Python/mySQL: ProgrammingError: Не все параметры использовались в операторе SQL
Я использую MySQL 5.7.21, Connector/Python 2.0.4, Python 3.6.3
Я определил таблицу в своем скрипте Python,
TABLES['report'] = (
"CREATE TABLE `report` ("
" `t` varchar(4) NOT NULL,"
" `s` varchar(50) NOT NULL,"
" `d` varchar(10) NOT NULL,"
" `v` int(12) NOT NULL,"
" `g` varchar(12) NOT NULL,"
" `q` varchar(12) NOT NULL,"
" PRIMARY KEY (`t`)"
") ENGINE=InnoDB")
и создали его успешно в БД.
Но, когда я попытался вставить следующие данные
data= ('1111', 'xxxxxxxxxx-cc', 'AsOf20170630', '81785000', 'xxxx-cc', '2017Q2')
в стол с
cursor.execute("INSERT INTO report (t, s, d, v, g, q) VALUES (%s, %s, %s, %s, %s, $s)", data)
Я получил ошибку,
ProgrammingError: Not all parameters were used in the SQL statement
2 ответа
Вы можете попробовать следующее:
в этом values
последний $s
изменить на %s
и если это не работает, вы можете попробовать, изменив'81785000'
в 81785000
потому что v int
Попробуй это:
cursor.execute ("INSERT INTO report (t, s, d, v, g, q) ЗНАЧЕНИЯ (% s,% s,% s,% s,% s, % s)", данные)
Последние $s следует заменить на% s
В python $s я не считаю правильным обрабатывать строки, потому что выполняемый вами запрос является строкой.