插入 MySQL 的 Python 函数

问题描述 投票:0回答:0

我不明白为什么我定义的函数不起作用。没有错误消息,只是没有 INSERT 到表中......在社区的帮助下,这里是对初始问题的编辑,其中包含更多信息:

编辑----------------

测试 1 >> 作品

import mysql.connector
db = mysql.connector.connect(host="localhost",
                             user="root",
                             passwd="",
                             database="test_base")
mycursor = db.cursor()

def testa():
    mycursor.execute("INSERT INTO test_table (Time, trade_ID, Price, Quantity) VALUES (%s,%s,%s,%s)", 
                     (678228251973, 239938314,"19.97000000","25.03000000"))
    db.commit()

testa()

测试 2 >> 不起作用

def testb(tablename):
    mycursor.execute("INSERT INTO '{0}' (Time, trade_ID, Price, Quantity) VALUES (%s,%s,%s,%s)".format(tablename),
                     (678228251973, 239938314,"19.97000000","25.03000000"))
    db.commit()

testb('test_table')

错误=

mysql.connector.errors.ProgrammingError: 1064 (42000): 你有一个 SQL语法错误;检查对应于您的手册 用于在“test_table”附近使用正确语法的 MySQL 服务器版本 (Time, trade_ID, Price, Quantity) VALUES (678228251973,239938314,'1' at line 1"

测试 3 >> 不起作用

def testb(tablename):
    mycursor.execute(f"INSERT INTO '{0}' (Time, trade_ID, Price, Quantity) VALUES (%s,%s,%s,%s)".format(tablename),
                     (678228251973, 239938314,"19.97000000","25.03000000"))
    db.commit()

testb('test_table')

error =(注意这个中第 1 行的“19.9700000”与测试 2 中第 1 行的“1”(???)

mysql.connector.errors.ProgrammingError: 1064 (42000): 你有一个 SQL语法错误;检查对应于您的手册 用于在“0”附近使用正确语法的 MySQL 服务器版本 (Time, trade_ID, Price, Quantity) VALUES (678228251973,239938314,'19.9700000' 在第 1 行

测试 4 >> 新方法都在一起/也不起作用

import pymysql
conn=pymysql.connect(host="localhost", user="root", passwd="", database="test_base")
cur  = conn.cursor()

def insertData(Tablename,Time,trade_ID,Price,Quantity):
    try :
        cur.execute(f"INSERT INTO '{Tablename}' (Time, trade_ID, Price, Quantity) VALUES ({Time},{trade_ID}, {Price}, {Quantity})")
        conn.commit()
    except Exception as e:
        conn.rollback()

insertData('test_table', 1678440087935, 240165118, 16.73000000, 88)
conn.close()

error = 没有错误消息但不起作用...

python mysql mysql-python mysql-connector
© www.soinside.com 2019 - 2024. All rights reserved.