首页 > 解决方案 > 插入记录 Python 'tuple' 无法转换为 MySQL 类型

问题描述

尝试将记录插入 MySQL。这是我的代码

    sql = cursor.execute(f"SELECT inv_id FROM Investors WHERE name =\'{name}\'")
    pid = cursor.fetchone()
    try:
        cursor.execute("INSERT INTO team_members(inv_id,mem_name,picture,experience) VALUES(%s, %s, %s, %s)", (pid, port_name, headshot, work_ex,))
        #for li in so_links:
            #cursor.execute(("INSERT INTO team_members(social_media) VALUE %s", li))

    except Exception as e:
        raise e

我正在抓取这些数据,之前相同的代码运行良好,我不知道发生了什么变化。这是数据。

https://image.cypherhunter.com/upload/img/p/f81ee6c54642f53a38b5ad8d4c932eb4.jpg-resized

艾迪·拉扎林

a16z 加密

快速行动,大胆思考,建立下一个主要的技术特许经营权。

这就是我获取数据的方式。

    try:
        port_name = driver.find_element_by_xpath('//h1[@class="app-name"]').text
    except:
        port_name = 'No name'
    print(port_name)

为什么叫它a tuple?我试过这个

cursor.execute("INSERT INTO team_members(inv_id,mem_name,picture,experience) VALUES(%s, %s, %s, %s)" % (pid, port_name, headshot, work_ex,)

这给出了一个syntax error

标签: pythonmysqlweb-scraping

解决方案


你做

pid = cursor.fetchone()

fetchone总是返回一行,即使你只选择了一个值,所以pid可能是一个元素的元组。


推荐阅读