SQL炼金术:表primary_key-意外的关键字参数错误 [英] SQL Alchemy : Table primary_key - unexpected keyword argument error

查看:72
本文介绍了SQL炼金术:表primary_key-意外的关键字参数错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我不断收到有关 primary_key = True 的以下错误.请有人指出我要去哪里错了.我正在尝试遵循:

I keep getting the below error regarding the primary_key=True . Please could someone point out where i'm going wrong. I'm trying to follow:

http://docs.sqlalchemy.org/en/latest/core/metadata.html#metadata-describing

from sqlalchemy import *

mydata123 = table("dailymarketdata", metadata, 
                    column('data_id', mysql.BIGINT, primary_key=True), 
                    column('dt', Date), 
                    column('security_id', mysql.VARCHAR), 
                    column('open', float), 
                    column('high', float), 
                    column('low', float), 
                    column('close', float), 
                    column('ma200', float), 
                    column('rtrend', mysql.TINYINT))


TypeError                                 Traceback (most recent call last)
<ipython-input-350-bd385371a391> in <module>()
  2 
  3 mydata123 = table("dailymarketdata", metadata, 
----> 4                  column('data_id', mysql.BIGINT, primary_key=True),
  5              column('dt', Date),
  6              column('security_id', mysql.VARCHAR),

TypeError: column() got an unexpected keyword argument 'primary_key'

如果我排除 primary_key = True ,则会收到另一个错误

If I exclude primary_key=True I get another error

`AttributeError: 'MetaData' object has no attribute 'key'

推荐答案

Python是区分大小写的语言

Python is a case sensitive language

  • Column 是sqlalchemy中的不同可调用项.
  • table Table 也是不同的可调用对象
  • float 是python数据类型,而sqlalchemy类型是 Float
  • column and Column are different callables in sqlalchemy.
  • table and Table are also different callables
  • float is the python data type, while the sqlalchemy type is Float

尝试,将您的代码段重写为:

Try, rewriting your snippet as:

from sqlalchemy import *
from sqlalchemy.dialects import *
metadata = MetaData()
mydata123 = Table("dailymarketdata", metadata, 
                  Column('data_id', mysql.BIGINT, primary_key=True), 
                  Column('dt', Date), 
                  Column('security_id', mysql.VARCHAR), 
                  Column('open', Float), 
                  Column('high', Float), 
                  Column('low', Float), 
                  Column('close', Float), 
                  Column('ma200', Float), 
                  Column('rtrend', mysql.TINYINT))

这篇关于SQL炼金术:表primary_key-意外的关键字参数错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆