Форум сайта python.su
Здравствуйте.
код следующий
conn = MySQLdb.connect(db='bd1',host='localhost',user='root',passwd='1234')
curs = conn.cursor()
sql= 'DELETE FROM Values WHERE Id="13" and Dev="15";'
curs.execute(sql)
sql = 'INSERT INTO Values(Id, Dev, Date) VALUES("10", "12", '+str(pid)+');' #pid - переменная
curs.execute(sql)
sql = 'update Pars set Coms="1" where ComsId="29"; COMMIT;'
curs.execute(sql)
sql = 'select Out, In, ComsId, Coms from Pars where Id="10" and Dev="12";'
curs.execute(sql)
Офлайн
Нужно после всех запросов, которые вносят в базу изменения сделать
conn.commit();
Офлайн
regall
но при этом после update отдельно commit был не нужен. спасибо. признателен :) код теперь таков и прекрасно работает.
conn = MySQLdb.connect(db='bd1',host='localhost',user='root',passwd='1234')
curs = conn.cursor()
sql= 'DELETE FROM Values WHERE Id="13" and Dev="15";'
curs.execute(sql)
sql = 'INSERT INTO Values(Id, Dev, Date) VALUES("10", "12", '+str(pid)+');' #pid - переменная
curs.execute(sql)
conn.commit()
sql = 'update Pars set Coms="1" where ComsId="29";'
curs.execute(sql)
conn.commit()
sql = 'select Out, In, ComsId, Coms from Pars where Id="10" and Dev="12";'
curs.execute(sql)
Офлайн
Все еще зависит от конфигурации MySQL на твоей ОС.
По умолчанию, настройки для винды и линукса неодинаковые,
к примеру, на винде по умолчанию для MYSQL сервера установлена опция AUTOCOMMIT=True, и эти коммиты могут не понадобится
Отредактировано (Окт. 19, 2009 14:52:44)
Офлайн
regall
работаю в убунту 9.04, видать тут его значение по дефолту тру
спасибо
Офлайн
Вот этот кусок надо переписать
Muslimsql = 'INSERT INTO Values(Id, Dev, Date) VALUES("10", "12", '+str(pid)+');' #pid - переменная
curs.execute(sql)
conn.commit()
sql = 'INSERT INTO Values(Id, Dev, Date) VALUES("10", "12", %s);'
curs.execute(sql, [pid])
conn.commit()
Офлайн
PooH
удобно :cool:
Офлайн
MuslimДело не в удобстве, а в SQL инъециях
PooH
удобно :cool:
Офлайн
Muslim, точки с запятой в конце запросов не нужны
Офлайн
Привет всем, у меня тоже проблема с mysql. Дело в том что добавляет нормально, а выбирает только одну запись. Вот код:
import _mysql
db=_mysql.connect('localhost','root')
db.select_db('base')
db.query("SELECT * FROM `table`;")
res=db.store_result()
result=res.fetch_row(how=1)
Отредактировано (Дек. 16, 2009 23:27:10)
Офлайн