python 写入mysql 数据无法实时写入
时间: 2024-01-24 09:02:55 浏览: 34
Python写入MySQL数据无法实时写入可能是因为MySQL默认情况下使用了事务机制,即将多个操作打包成一个事务进行处理,当事务提交时才将数据写入磁盘,这会导致数据无法实时写入。如果需要实时写入数据库,可以使用以下两种方法:
1. 关闭自动提交
可以通过设置MySQL连接对象的`autocommit`属性为`True`来关闭自动提交,这样每次写入数据都会立即生效。
```python
import mysql.connector
# 创建连接对象
conn = mysql.connector.connect(host='localhost', user='root', password='123456', database='test')
# 关闭自动提交
conn.autocommit = True
# 创建游标对象
cursor = conn.cursor()
# 写入数据
cursor.execute("INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...)")
# 关闭游标和连接对象
cursor.close()
conn.close()
```
2. 使用`commit`命令
在每次写入数据后,手动调用`commit`命令来提交事务,这样数据也会立即生效。
```python
import mysql.connector
# 创建连接对象
conn = mysql.connector.connect(host='localhost', user='root', password='123456', database='test')
# 创建游标对象
cursor = conn.cursor()
# 写入数据
cursor.execute("INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...)")
# 提交事务
conn.commit()
# 关闭游标和连接对象
cursor.close()
conn.close()
```