【问题标题】:Every time I reconnect to a MySQL database, all the tables are empty每次我重新连接到 MySQL 数据库时,所有表都是空的
【发布时间】:2016-08-20 20:38:25
【问题描述】:

我对 MySQL 很陌生,所以我首先使用 www.freesqldatabase.com 来设置数据库。每当我连接到它时,我都可以设置将通过连接持续存在的表和数据库,但我输入的任何数据对于该连接都是唯一的。即使我通过 DataGrip 查看数据库,如果我向表中添加一行,我在刷新 datagrip 时也无法查看它,但我的 Python 程序可以检索它刚刚从数据库中创建的数据。但是,当我检索到数据库的新连接时,表中的行都不存在。

例如,在我的身份验证表(有两个键:“id”和“token”)上,我会这样做:

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

结果我会得到'id'。但是当我开始一个新的数据库连接并做

select id from auth where token = 'token'

它返回不存在。我在 DataGrip 中执行相同的请求,使用相同的用户名/密码/ip/数据库,但出现相同的错误。

我也尝试在 Google Cloud SQL 服务上执行此操作,但我遇到了同样的问题。所以这不是我使用的服务器的问题。

这可能是什么原因造成的?

【问题讨论】:

  • 好像你没有提交事务。你从select @@autocommit 得到什么?

标签: python mysql sql database datagrip


【解决方案1】:

当我连接到我的数据库时,我将 autocommit 设置为 true,这解决了我的问题。

【讨论】:

    【解决方案2】:

    尝试执行

    insert into auth values ('id', 'token');
    commit;
    

    【讨论】:

      猜你喜欢
      • 2013-05-05
      • 2015-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-24
      • 1970-01-01
      • 2016-02-08
      • 2021-04-27
      相关资源
      最近更新 更多