MySQL Python 连接器没有给出任何错误,但值没有插入到数据库中?

库尔特·皮克

我正在 LeetCode 上练习 SQL(例如,https: //leetcode.com/problems/game-play-analysis-ii/ )并且想在本地重现失败的测试用例。LeetCode 为每个测试用例提供带有表值的 JSON,我想以编程方式将其转换为INSERT INTO语句。

我创建了一个Activity2表中mydatabase有四列,player_iddevice_idevent_date,和games_played

mysql> DESCRIBE Activity2;
+--------------+---------+------+-----+---------+-------+
| Field        | Type    | Null | Key | Default | Extra |
+--------------+---------+------+-----+---------+-------+
| player_id    | int(11) | YES  |     | NULL    |       |
| device_id    | int(11) | YES  |     | NULL    |       |
| event_date   | date    | YES  |     | NULL    |       |
| games_played | int(11) | YES  |     | NULL    |       |
+--------------+---------+------+-----+---------+-------+
4 rows in set (0.00 sec)

mysql> SELECT * FROM Activity2;
Empty set (0.00 sec)

mysql> SELECT DATABASE();
+------------+
| DATABASE() |
+------------+
| mydatabase |
+------------+
1 row in set (0.00 sec)

然后我尝试运行以下脚本(运行后pip install mysql-connector-python):

import json
import mysql.connector

connection = mysql.connector.connect(
    user='myuser',
    password='mypassword',
    host='127.0.0.1',
    database='mydatabase',
    port=3306)

cursor = connection.cursor()

with open('game_play_analysis_testcase.json') as fp:
    data = json.load(fp)

for player_id, device_id, event_date, games_played in data['rows']['Activity']:
    query = \
f"""
INSERT INTO Activity2 (player_id, device_id, event_date, games_played)
VALUES ({player_id}, {device_id}, {event_date!r}, {games_played});
"""
    print(query)
    try:
        cursor.execute(query)
    except mysql.connector.Error as err:
        print(err.msg)

cursor.close()
connection.close()

JSON 文件的结构是这样的;例如,该print语句产生以下(部分)输出:

INSERT INTO Activity2 (player_id, device_id, event_date, games_played)
VALUES (85, 99, '2019-02-27', 45);


INSERT INTO Activity2 (player_id, device_id, event_date, games_played)
VALUES (78, 34, '2019-01-16', 87);


INSERT INTO Activity2 (player_id, device_id, event_date, games_played)
VALUES (58, 31, '2019-02-25', 52);

问题是,如果我运行这个脚本,我发现Activity2之后表格仍然是空的。

我认为由于没有引发/打印错误,这应该可行。我很确定我使用的凭据是正确的。知道为什么这不起作用吗?

鲍比·杜雷特

您可能需要在插入后提交。此链接表示 MySQL Python 连接器不会自动提交。

https://dev.mysql.com/doc/connector-python/en/connector-python-api-mysqlconnection-commit.html

也许在使用插入的 for 循环之后执行 connection.commit() 。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Python在Mysql数据库中插入值

来自分类Dev

如何从python中的gui连接到mysql数据库

来自分类Dev

节点JS MySQL-插入数据。数据库中没有行更新

来自分类Dev

MySQL连接器/ python ImportError:没有名为“ mysql”的模块

来自分类Dev

如何使用参数将整数值提取到带有Python连接器的MySQL数据库中

来自分类Dev

使用python连接器添加MySQL表,可以正常工作,但没有添加表而不会引发错误

来自分类Dev

Mysql连接器Python

来自分类Dev

MySQL连接器/ python ImportError:没有名为“ mysql”的模块

来自分类Dev

有没有办法在mysql数据库中插入带有前缀的自动增量主ID?

来自分类Dev

MySQL / PHP检查数据是否在数据库表中,如果没有插入

来自分类Dev

Python mysql数据库插入查询,线程错误

来自分类Dev

无法使用Java更新MySQL数据库中的行,没有错误消息

来自分类Dev

TCPDF没有显示MySQL数据库中的Unicode

来自分类Dev

像在mysql连接器/ python中

来自分类Dev

Mysql中没有数据库选择错误

来自分类Dev

无法将Mysql数据库连接到presto-连接器mysql没有工厂

来自分类Dev

Mysql Workbench中没有与数据库同步模型

来自分类Dev

python mysql数据库连接错误

来自分类Dev

PHP表单仅将图像发布到MYSQL数据库,没有其他值

来自分类Dev

很少,我的数据库中的某些列中没有插入值。PHP MySQL HTML

来自分类Dev

python MySQL连接器

来自分类Dev

Laravel 连接到没有数据库的 MySQL

来自分类Dev

插入错误 - mysql 连接器 python 2.7

来自分类Dev

Python脚本无法连接到没有密码的MySQL数据库

来自分类Dev

Python中的Mysql连接器问题

来自分类Dev

Mysql 数据库没有连接到python

来自分类Dev

requests.post 在 python 中没有给出任何响应?

来自分类Dev

从 psycopg2 和 python3 插入数据库时,Json-data 为空,没有任何错误

来自分类Dev

尽管 PHP、MYSQL 中没有错误,但 INSERT INTO 不会插入任何数据

Related 相关文章

  1. 1

    使用Python在Mysql数据库中插入值

  2. 2

    如何从python中的gui连接到mysql数据库

  3. 3

    节点JS MySQL-插入数据。数据库中没有行更新

  4. 4

    MySQL连接器/ python ImportError:没有名为“ mysql”的模块

  5. 5

    如何使用参数将整数值提取到带有Python连接器的MySQL数据库中

  6. 6

    使用python连接器添加MySQL表,可以正常工作,但没有添加表而不会引发错误

  7. 7

    Mysql连接器Python

  8. 8

    MySQL连接器/ python ImportError:没有名为“ mysql”的模块

  9. 9

    有没有办法在mysql数据库中插入带有前缀的自动增量主ID?

  10. 10

    MySQL / PHP检查数据是否在数据库表中,如果没有插入

  11. 11

    Python mysql数据库插入查询,线程错误

  12. 12

    无法使用Java更新MySQL数据库中的行,没有错误消息

  13. 13

    TCPDF没有显示MySQL数据库中的Unicode

  14. 14

    像在mysql连接器/ python中

  15. 15

    Mysql中没有数据库选择错误

  16. 16

    无法将Mysql数据库连接到presto-连接器mysql没有工厂

  17. 17

    Mysql Workbench中没有与数据库同步模型

  18. 18

    python mysql数据库连接错误

  19. 19

    PHP表单仅将图像发布到MYSQL数据库,没有其他值

  20. 20

    很少,我的数据库中的某些列中没有插入值。PHP MySQL HTML

  21. 21

    python MySQL连接器

  22. 22

    Laravel 连接到没有数据库的 MySQL

  23. 23

    插入错误 - mysql 连接器 python 2.7

  24. 24

    Python脚本无法连接到没有密码的MySQL数据库

  25. 25

    Python中的Mysql连接器问题

  26. 26

    Mysql 数据库没有连接到python

  27. 27

    requests.post 在 python 中没有给出任何响应?

  28. 28

    从 psycopg2 和 python3 插入数据库时,Json-data 为空,没有任何错误

  29. 29

    尽管 PHP、MYSQL 中没有错误,但 INSERT INTO 不会插入任何数据

热门标签

归档