![](/img/trans.png)
[英]Getting “Not all parameters were used in the SQL statement” error, when trying to import data to MySQL using python
[英]Issue importing data into MYSQL using python (error code: "Not all parameters were used in the SQL statement)
我正在嘗試從 API 中獲取數據,然后創建一個表並根據收銀員姓名的輸入插入提取的數據。 我正在與 MYSQL 交互。
data1 是以下形式的字典列表:{'cashier': [{'open': 123, 'high': 3232, 'low': 321, 'close': 117.28, 'volume': 1231232, 'datetime ': 16031231612300}, {'open': 123, 'high': 3232, 'low': 321, 'close': 117.28, 'volume': 1231232, 'datetime': 160312316123]...
我可以使用正確的收銀員姓名輸入創建表格,但是,我似乎無法插入以上面顯示的 data1 格式顯示的數據。 我收到錯誤““並非所有參數都在 SQL 語句中使用”。我認為 executemany() 是正確的方法嗎?
<!-- begin snippet: js hide: false console: true babel: false -->
data1 = content1.json()
cashier = input("cashier name: ")
import json
import mysql.connector
host = 'localhost'
user = 'user'
password = 'password'
database = 'stock_database'
cnxn = mysql.connector.connect(host = host,
user = user,
password = password,
database = database)
mycursor = cnxn.cursor()
mycursor.execute("CREATE TABLE {cashier_name}_database \
(symbol_id INT AUTO_INCREMENT PRIMARY KEY,\
datetime BIGINT,\
close DECIMAL,\
volume DECIMAL,\
high DECIMAL,\
low DECIMAL, \
open DECIMAL)".format(cashier_name=cashier))
insert_query = "INSERT INTO {cashier_name}_database \
(datetime, \
close, \
volume, \
high, \
low, \
open) \
VALUES (%(datetime)s, %(close)s, %(volume)s, %(high)s, %(low)s, %(open)s)".format(cashier_name=cashier)
mycursor.executemany(insert_query, data1)
cnxn.commit()
mycursor.close()
cnxn.close()
似乎您的 data1 不是字典列表,而是帶有“收銀員”鍵和字典列表作為值的字典。 您可以通過以下方式調用 executemany 函數:
mycursor.executemany(insert_query, data1['cashier'])
或者,如果您的 data1 存儲不同收銀員的值,並且您為收銀員變量分配了一個指定值,則可以這樣使用 executemany 函數:
cashier = input("cashier name: ")
mycursor.executemany(insert_query, data1[cashier])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.