есть Python-скрипт работающий с базой данных - в одном месте берёт из сети текст и заносит его в таблицу MySQL. Текст может быть апсолютно любой.
Всё работает до тех пор, пока в тексте не встречается одинарная кавычка.
Часть скрипта:
... con = mdb.connect(host='127.0.0.1', user='user', passwd='pass', db='db_1', charset='utf8') cur = con.cursor() ... lines = "some text ' here" lines = lines.replace("'", "\'") print lines sql = "INSERT INTO table_a (id, line) VALUES('xxxxxxxxxx" + p_id + "','" + lines + "');" print sql try: cur.execute(sql) except: print "------------##################------------ SQL ERROR ------------##################------------\n" sys.exit(1) ...
..и вот всегда срабатывает этот Except.
Что нужно добавить\изменить, чтоб в таблицу с колонкой TEXT типа всё нормально сохранялось в изначаьном виде? Замена на другой символ не подходит, экранирование как в примере выше не работает.