Mysql.Connect python создает неугодные кавычки

203
16 декабря 2018, 05:40

Дообр день, уважаемые знатоки! Я использую mysqlConnector и python 3.6.5

В python у меня есть лист:

zipped = [('akamaitechnologies.com', 8221, 0), ('akamaitechnologies.com', 2053, 0), ('googleusercontent.com', 1119, 0), ('1e100.net', 3999, 0), ('1e100.net', 2819, 0)]`

Также у меня есть простая таблица для записи информации:

CREATE TABLE `dns` (
    `id` int(10) NOT NULL AUTO_INCREMENT,
    `dnsname` text,
    `inbytes` int(11) DEFAULT NULL,
    `outbytes` int(11) DEFAULT NULL,
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

И мой великолепный код:

#one function for connect & execute query
def mysql_conn2(fhost, finb, foutb):
    cnx = mysql.connector.connect(user=mysql_user, password=mysql_password, database=mysql_database, host=mysql_host)
    cursor = cnx.cursor()
    cursor.execute("INSERT into dns (`dnsname`,`inbytes`,`outbytes`) VALUES(%s,%s,%s);", (fhost, finb, foutb))
    cnx.close()
#my script, that i have ro run
for item in zipped:
    host = str(item[0])
    inb = str(item[1])
    outb = str(item[2])
    print(host,inb, outb)
    mysql_conn2(host,inb,outb)

Когда я проверяю записи в таблице, то там совершенно пусто! (при этом, если добавить руками - всё ОК).

Я задебажил скрипт - и увидел это:

Ошибка - экранированные строки в cursor.statement property, но почему?

Потом добавил руками запись в таблицу - и, о чудо, значение AUTO_INCREMENT-поля выдало отличное от 1-числа!

Как можно заэкранировать строки или может быть я делаю что-то не так?
Спасибо за помощь!

Answer 1

Спасибо всем, разобрался с автокоммитами!

Смотрим документацию:

https://mariadb.com/resources/blog/how-connect-python-programs-mariadb

Добавляем:

cnx.commit()
READ ALSO
Как в блок div вписать функцию JS

Как в блок div вписать функцию JS

С конструктора взял вот такое размещение видео с автовоспроизведением в div-блоке:

300
loadMore для angularjs в ajax запросе help please!

loadMore для angularjs в ajax запросе help please!

Доброго времени суток всемХотел спросить, как реализовать кнопку loadMore для данных, полученных при ajax запросе

201
ul + li + font awesome + href

ul + li + font awesome + href

хочу сделать список ul чтобы не писать по 100 раз стиль для каждой иконки

200