我寫了一個python代碼,用於在MySQL DB中寫入/讀取數據。問題在於,即使在我寫入之後,表格仍然是空的。當我關閉程序時,我會丟失所有數據。 這是我創建的表:我的python代碼寫在一個臨時數據庫中
cursor.execute("CREATE TABLE IF NOT EXISTS employees (id INT UNSIGNED NOT NULL AUTO_INCREMENT,Name VARCHAR(20) NOT NULL,LastName VARCHAR(20) NOT NULL,Post VARCHAR(20) NOT NULL,RasID SMALLINT UNSIGNED NOT NULL,PRIMARY KEY (id)) ENGINE=INNODB;")
這就是我的表中插入數據:
cursor.execute("INSERT INTO employees VALUES (NULL, %s, %s, %s, %s);",(UserName, UserLastName, UserPost, int(data['RasID'])))
,這我怎麼選擇從表中的數據:
cursor.execute("SELECT * FROM employees WHERE Name= %s;",(Jmsg['face'],))
這是我在表中插入數據和程序仍然運行後得到的:
mysql> select * from employees;
Empty set (0.00 sec)
注意:當程序仍在運行時,我可以在插入數據後選擇數據,但正如我提到的那樣,表格是空的。那麼,代碼是寫在臨時表中還是什麼?
你叫'connection.commit()'?你是否通過調用'connection.close()'手動關閉數據庫?或者,你是否在'with'語句中創建了'connection'對象? –
我沒有使用connection.commit()這就是爲什麼謝謝你 – chiheb