1

私は MySQL を初めて使用するので、www.freesqldatabase.com を使用してデータベースをセットアップすることから始めました。それに接続するたびに、接続を介して保持されるテーブルとデータベースを設定できますが、入力したデータはその接続に固有のものです。DataGrip を介してデータベースを表示している場合でも、テーブルに行を追加すると、datagrip を更新しても表示できませんが、Python プログラムは作成したばかりのデータをデータベースから取得できます。しかし、データベースへの新しい接続を取得すると、テーブル内の行がまったく存在しません。

たとえば、私の認証テーブル (「id」と「token」の 2 つのキーがある) では、次のようにします。

insert into auth values ('id', 'token')
select id from auth where token = 'token'

その結果、「id」を取得します。しかし、データベースへの新しい接続を開始して実行すると

select id from auth where token = 'token'

何も存在しないことが返ってきます。同じユーザー名/パスワード/IP/データベースの DataGrip で同じ要求を行うと、同じエラーが発生します。

Google Cloud SQL サービスでもこれを試してみましたが、まったく同じ問題が発生します。したがって、私が使用しているサーバーの問題ではありません。

何が原因でしょうか?

4

2 に答える 2

2

データベースに接続するときに autocommit を true に設定すると、問題が解決しました。

于 2016-08-20T21:11:18.290 に答える
1

実行してみる

insert into auth values ('id', 'token');
commit;
于 2016-08-20T21:44:19.453 に答える