(多个问题)Python脚本与MsSQL工作台的比较错误代码:2013。查询过程中与MySQL服务器的连接中断;和唯一索引
有点背景知识,我正在建立一个股票价格数据库进行分析(如果这不是最好的方法,让我知道)。我正在使用MySql并运行python脚本,尽管(多个问题)Python脚本与MsSQL工作台的比较错误代码:2013。查询过程中与MySQL服务器的连接中断;和唯一索引,python,mysql,mysql-workbench,mysql-python,Python,Mysql,Mysql Workbench,Mysql Python,有点背景知识,我正在建立一个股票价格数据库进行分析(如果这不是最好的方法,让我知道)。我正在使用MySql并运行python脚本,尽管MySql.connector我有一个表prices,看起来有点像这样 CREATE TABLE `Prices` ( `id` int PRIMARY KEY AUTO_INCREMENT, `date_id` int, `ticker_id` int, `Open` decimal(6,2), `Close` decimal(6,2),
MySql.connector
我有一个表prices
,看起来有点像这样
CREATE TABLE `Prices` (
`id` int PRIMARY KEY AUTO_INCREMENT,
`date_id` int,
`ticker_id` int,
`Open` decimal(6,2),
`Close` decimal(6,2),
`High` decimal(6,2),
`Low` decimal(6,2),
`Volume` int,
`Adj_Open` decimal(6,2),
`Adj_Close` decimal(6,2),
`Adj_High` decimal(6,2),
`Adj_Low` decimal(6,2),
`Adj_Volume` decimal(6,2)
);
到目前为止,我只在其中存储了苹果的价格,它有10000多个条目。我试图从Mysql Workbench中选择/显示表,但一直得到错误代码:2013。查询期间与MySQL服务器的连接中断
。当我试图截断表时也会发生同样的情况。我甚至在一篇StackOverflow文章中建议将超时时间从30秒增加到600秒,但我仍然得到相同的错误
当我在python中运行以下命令时
def print_table(name):
mycursor = mydb.cursor()
text ="SELECT * FROM " + name
mycursor.execute(text)
myresult = mycursor.fetchall()
for i in myresult:
print(i)
mycursor.close()
#print table prices
print_table("prices")
不需要2秒钟,我就可以打印出整个表的内容。是否有其他设置需要更改,以允许我在workbench中运行这些查询而不会出错
第二个问题:
我想要一个基于表date\u id
和ticker\u id
中两列的唯一键,我如何进行设置。因此,当我将来更新表时,下面的代码不需要两次输入相同的日期和价格
sql = "INSERT IGNORE INTO prices (date_id,ticker_id,open,close,high,low,volume) VALUES (%s,%s,%s,%s,%s,%s,%s)"
mycursor.execute(sql,(date_id,ticker_id,p_open, p_close,p_high,p_low,p_volume))