import MySQLdb path = r'C:\config.cnf' db = MySQLdb.connect(read_default_file=path) cursor = db.cursor() cursor.execute("SELECT VERSION()") cursor.execute("INSERT INTO table1(Name, Alert, Date) VALUES('PC user','1', NOW())") db.close()
import MySQLdb path = r'C:\config.cnf' db = MySQLdb.connect(read_default_file=path) cursor = db.cursor() cursor.execute("SELECT VERSION()") cursor.execute("INSERT INTO table1(Name, Alert, Date) VALUES('PC user','1', NOW())") db.close()
cursor.execute("INSERT INTO table(Name, Alert, Date) VALUES('PC user','1', NOW())") db.commit()
Moi5esПрочитай, что отвечает.cursor.execute("SELECT VERSION()")
JOHN_16Там по умолчанию автокоммит. А инструкция COMMIT нужна, когда есть инструкция для начала транзакции.
после вставки значений забыли вызвать commit
JOHN_16Пробовал уже, с ним тоже не пишется в базу.
после вставки значений забыли вызвать commit
Moi5es
Пытаюсь записать в них данные, но ничего не происходит
import MySQLdb path = r'C:\config.cnf' db = MySQLdb.connect(read_default_file=path) cursor = db.cursor() cursor.execute("SELECT VERSION()") print('{} Version MySQL'.format(cursor.fetchall())) cursor.execute('CREATE TEMPORARY TABLE test.mysupertest(id INT(11), val VARCHAR(255))') cursor.execute("INSERT INTO test.mysupertest(id, val) VALUES(1, 'some_value')") cursor.execute('SELECT * FROM test.mysupertest') print(cursor.fetchall()) cursor.execute('DROP TABLE IF EXISTS test.mysupertest') db.close()
Версия python 2.7?Python 3.4.1
Как проверяете?Смотрю в БД
рабочий?Ответ в IDLE
(('5.5.41-log',),) Version MySQL
((1, 'some_value'),)c:\openserver\modules\database\MySQL-5.5\bin\mysqld.exe, Version: 5.5.41-log (MySQL Community Server (GPL)). started with: TCP Port: 3306, Named Pipe: (null) Time Id Command Argument 150311 16:07:56 1 Connect root@localhost on 1 Query set autocommit=0 1 Query SELECT VERSION() 1 Query CREATE TEMPORARY TABLE test.mysupertest(id INT(11), val VARCHAR(255)) 1 Query INSERT INTO test.mysupertest(id, val) VALUES(1, 'some_value') 1 Query SELECT * FROM test.mysupertest 1 Query DROP TABLE IF EXISTS test.mysupertest 1 Quit
Moi5es
Ответ в IDLE
(('5.5.41-log',),) Version MySQL
((1, ‘some_value’),)
Moi5es
Записей в БД всё равно нет
(1, 'some_value'),
JOHN_16
Вероятно это из за настроек
Moi5esВот у него отключается автокоммит. Там можно отключать в настройках.1 Query set autocommit=0
JOHN_16SQLite вообще поразила, когда оказалось, что добавление колонки в таблицу есть, а удаления - нет.
В SQLite автокоммит присутствует по умолчанию.