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 я не считаю правильным обрабатывать строки, потому что выполняемый вами запрос является строкой.

Другие вопросы по тегам