У меня странная проблема.Есть две базы данных.В нем есть все товары для интернет-магазина.На другом есть программное обеспечение интернет-магазина и только активные продукты.
Я хочу взять значения из db1, изменить некоторые значения в python и вставить в db2.
db1.execute("SELECT * FROM table1")
for product in db1.fetchall():
# ...
db2.execute("INSERT INTO table2 ...")
print "Check: " + str(db2.countrow)
Так что я могу получить значения с помощью select, даже выбор из db2 не проблема.Мой чек всегда дает мне 1 НО, в таблице нет новых строк.Значение автоинкремента растет, но данных нет.И я даже не получаю сообщение об ошибке типа «не могу вставить». У кого-нибудь есть идея, что может быть не так?(если я делаю вставку вручную через phpmyadmin, это работает ... и если я просто беру sql из моего скрипта и делаю это вручную, то sql-инструкции работают также)
EDIT: нашел ответ здесь Как я могу проверить, была ли вставка успешной с MySQLdb в Python?
Есть ли способ заставить их выполняться без фиксации каждый раз?У меня есть оболочка для mysqldb, и она отлично работает для меня, меняя поведение с коммитом, мне нужно внести некоторые большие изменения.
EDIT2: хорошо, я обнаружил, что db1 - это MyISAM (который будет работать без коммитов)и db2 - это InnoDB (который на самом деле, кажется, работает только с коммитом), я думаю, мне нужно также изменить db2 на MyISAM.