我使用python mysql.connector
進行某些數據庫操作。我的數據庫表結構是這樣的:使用Python成功插入後MySQL數據丟失mysql.connector
我運行與Faker Package(fake-factory 0.5.0)
一個python script
來填充這個數據庫表。插入後,我運行查詢來驗證數據是否正確存儲到表中。 python腳本顯示所有插入的數據並完成exit code 0
但是,當我通過phpMyadmin
探索該表時,它不顯示那些插入的行。這些插入的數據在下次運行後不會保留。
這裏是我的代碼:
import mysql.connector
from faker import Faker
fake = Faker()
cnx = mysql.connector.connect(user='root', password='001',
host='127.0.0.1',
database='smf')
cursor = cnx.cursor()
for i in range(1, 5):
query = "insert into user " + "(userid, name) values("+ str(i) + ", '" + fake.name() + "')"
cursor.execute(query)
query = "select * from user"
cursor.execute(query)
for (x) in cursor:
print ("name = " + format(x))
cnx.close()
你需要有一個cnx.commit()後,cursor.execute(查詢)命令 – LampPost
得到它。需要'cnx.commit()' –
當返回的名稱值包含單引號時,這會導致INSERT查詢中的錯誤。 (包含在SQL文本中的潛在不安全值必須被轉義,更好的方法是使用帶有綁定佔位符的預處理語句。) – spencer7593