MySQL DBにデータを書き込み/読み込むPythonコードを書いた。問題は、テーブルを書き込んだ後もまだテーブルが空であることです。プログラムを終了すると、すべてのデータが失われます。私のPythonコードを一時的なデータベースに書き込む
cursor.execute("SELECT * FROM employees WHERE Name= %s;",(Jmsg['face'],))
:これは私がテーブルにデータを挿入する方法である
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'])))
と これは私がテーブルを作成する方法でありますテーブルにデータを挿入してプログラムを実行した後に得られるもの:
mysql> select * from employees;
Empty set (0.00 sec)
NB:プログラムを実行しているときにデータを挿入した後でデータを選択できますが、テーブルが空であると言われています。だから、コードは一時テーブルに書き込むのですか?
あなたは 'connection.commit()'を呼び出しますか?あなたは 'connection.close()'を呼んでデータベースを手動で閉じますか?あるいは、 'connection'オブジェクトを' with'文で作成しますか? –
私はconnection.commit()を使用していませんでした。 – chiheb