Я пытаюсь использовать значения INSERT
в таблице MySQL через скрипт python. Тем не менее, я получаю следующее сообщение об ошибке:Соединитель MySQL Python: не удалось вставить
mysql.connector.errors.ProgrammingError: 1064 (42000): 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 'like) VALUES ('0', '1', 'https://twitter.com/LesEchos/status/815950910832705538'' at line 1
Я смотрел на дополнительное/недостающее пустое месте, как это предлагается в других ответах, но Coult не найти ошибку. Я также вставленные значения в других таблицах с использованием той же моды ... Вы найдете ржали весь код:
import mysql.connector
import datetime
cnx = mysql.connector.connect(user='root',
host='localhost',
database='realcv')
cursor = cnx.cursor()
creation_date = datetime.datetime.now()
add_content = ("INSERT INTO CONTENT_TWITTER "
"(id_content, id_account, url, is_active, creation_date, text, retweet, like) "
"VALUES (%s, %s, %s, %s, %s, %s, %s, %s)")
id_account = ['1', '2', '3', '5', '6', '6', '6']
url = ['https://twitter.com/LesEchos/status/815950910832705538',
'https://twitter.com/franceinter/status/815950791131283457',
'https://twitter.com/LeHuffPost/status/815949875481378816',
'https://twitter.com/lemondefr/status/815945788979290113',
'https://twitter.com/frenchweb/status/815944495103496193',
'https://twitter.com/frenchweb/status/815988537426378752',
'https://twitter.com/frenchweb/status/815980996118114111']
is_active = ['1', '1', '1', '1', '1', '1', '0']
text = ["Les grands magasins Printemps signent à leur tour un accord sur l'ouverture du dimanche http:/trib.al/zIVr5id ",
"L'uritrottoir c'est l'urinoir en forme de jardinière qui transforme son contenu en engrais ► http:/bit.ly/urinoir-rue cc @MoreauEmm",
"Mort du skieur Jean Vuarnet, champion olympique qui a donné son nom à la marque de lunettes",
"« Les trois piliers de l’islam », une leçon de lecture du Coran pour les djihadistes",
"[Étude de Cas] Comment Auchan.fr augmente ses ventes de +2,5% en personnalisant l’expérience de ses utilisateurs http:/bit.ly/2hQDeIh ",
"#Automobile : les 4 tendances #IoT à venir à horizon 2020 http:/bit.ly/2hBfgEs ",
"AAAAAAAAAAAA"]
retweet = ['20', '30', '18', '45', '27', '12', '5']
like = ['10', '25', '30', '12', '17', '54', '3']
count = 0
for i in range(len(id_account)):
data_content = (str(count), id_account[i], url[i], is_active[i], creation_date, text[i], retweet[i], like[i])
cursor.execute(add_content, data_content)
count += 1
# Commit changes
cnx.commit()
cnx.close()
В таблице я стараюсь писать определяется следующим образом:
CREATE TABLE IF NOT EXISTS `realcv`.`CONTENT_TWITTER` (
`id_content` DOUBLE NOT NULL,
`id_account` DOUBLE NULL,
`url` VARCHAR(100) NULL,
`is_active` TINYINT(1) NULL,
`creation_date` DATETIME NULL,
`text` MEDIUMTEXT NULL,
`retweet` INT NULL,
`like` INT NULL,
PRIMARY KEY (`id_content`),
INDEX `account_content_idx` (`id_account` ASC),
CONSTRAINT `account_content`
FOREIGN KEY (`id_account`)
REFERENCES `realcv`.`ACCOUNT` (`id_account`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
' like', вероятно, является ключевым словом; вам может потребоваться обернуть имена полей обратными окнами. –
Ты прибил его! Если вы напишете его в качестве ответа, я подтвержу его. –
он предложил не использовать ключевые слова в качестве имен переменных – csharpcoder