У меня проблема с MySQL и Python MySQLdb, когда я пытаюсь вставить более одной переменной.
У меня есть таблица wordurl с тремя полями. Первый - это идентификатор auto_increment, второй и третий должны содержать значения. Второе и третье поля называются word_id и url_id.
Это код.
cursor.execute("INSERT INTO wordurl (word_id, url_id) VALUES (%s, %s)", (word_temp_id, url_temp_id))
Когда я пытаюсь вставить только одно значение, код работает, а два - нет.
Сообщение об ошибке:
(1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '),), (('2',),))' at line 1")
Я также попробовал сделать это с тройными галочками вокруг оператора, переменные с и без скобок, без имен полей и с первым включенным полем id. Я также попробовал с C-style-printf-stuff% (что не очень умно!). Ничего не получалось.
А вы, замечательные люди на stackoverflow, вы моя последняя надежда:)
MySQL-сервер - это 5.5.9 на FreeBSD 8.2. Версия Python 2.7: 82508 для OSX Lion
Заранее спасибо!
Штеффен
ОБНОВЛЕНИЕ: я использую cursor.fetchall () и cursor.fetchone () для получения идентификаторов. Может быть, эта информация важна.