› MySQL 5.5 Community Server
› MySQL 5.6 Community Server
› Percona Configuration Wizard
› XtraBackup 搭建主从复制
Great Sites on MySQL
› Percona
› MySQL Performance Blog
› Severalnines
推荐管理工具
› Sequel Pro
› phpMyAdmin
推荐书目
› MySQL Cookbook
MySQL 相关项目
› MariaDB
› Drizzle
参考文档
› http://mysql-python.sourceforge.net/MySQLdb.html
websql
V2EX  ›  MySQL

请问如何通过 Python3 向 MySQL 写入 JSON 数据

  •  
  •   websql · Dec 1, 2022 · 2557 views
    This topic created in 1398 days ago, the information mentioned may be changed or developed.
    软件版本:
    Python 3.10
    MySQL 8.0

    Python3 字典
    v = {['v' : 'v']}

    转换为 json 字符串
    vv = json.dumps(v)

    构造 sql 语句
    sql = "INSERT INTO table_name (column_name) VALUES (%s)" % (vv)
    写入 MySQL
    db.query(sql)

    报错信息:
    "pymysql.err.ProgrammingError: (1064, 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'p1": [.................."
    我理解应该是 json 数据没有没有转义造成的。
    于是尝试
    vv = ‘"""’ + vv ‘"""’
    报同样的错误。

    请问各位大佬有什么解决办法能直接将 json 数据写入 MySQL 吗?
    6 replies  •  2022-12-01 14:51:41 +08:00
    VZEXEZVzzz
        1
    VZEXEZVzzz  
       Dec 1, 2022 via iPhone
    MySQL 方面,支持字段设置为 JSON 类型
    Python 方面,找个 ORM 框架
    Trim21
        2
    Trim21  
       Dec 1, 2022 via Android
    让 pymysql 替你处理参数。
    loolac
        3
    loolac  
       Dec 1, 2022
    首先,v = {['v' : 'v']},python3 不认识;其次,打印出你的 sql 来,一看就知道问题所在了。

    INSERT INTO table_name (column_name) VALUES ({"V":"V"})
    ttvast
        4
    ttvast  
       Dec 1, 2022
    sql = "INSERT INTO table_name (column_name) VALUES (%s)"
    cursor.execute(sql,vv)
    ttvast
        5
    ttvast  
       Dec 1, 2022
    @ttvast (vv,)
    goodryb
        6
    goodryb  
       Dec 1, 2022
    Python3 字典
    v = {['v' : 'v']}

    字典是这样的吗,key 和 value 分别是啥

    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2420 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 16:04 · PVG 00:04 · LAX 09:04 · JFK 12:04
    ♥ Do have faith in what you're doing.