小编Cha*_*ile的帖子

如何在SQLAlchemy中定义复合主键

我正在尝试使用SQLAlchemy和MySQL为具有复合主键的表创建表映射,我不确定我是否正确行事.使用复合主键定义现有表.

这是映射类定义:

class table1(Base):
    __tablename__ = 'table1'

    col1 = Column(String, primary_key=True)
    col2 = Column(String, primary_key=True)
    col3 = Column(String)

    def __init__ = (self, col1, col2, col3):
        self.col1 = col1
        self.col2 = col2
        self.col3 = col3
Run Code Online (Sandbox Code Playgroud)

这匹配数据库中已有的记录a = table1('test','test','test')

如果我将此添加到会话并在表中添加记录,然后使用数据,我得到MySQL错误(1062重复条目).

session.add(a)
b = session.query(table1)
for instance in b:
    print(instance.col1, instance.col2)
Run Code Online (Sandbox Code Playgroud)

如果我正在使用单键表,我会收到此错误:

New instance <table2 at 0x2f204d0> with identity key 
(<class '__main__.table2'>,('test',)) conflicts with 
persistent instance <table2 at 0x2f88770>
Run Code Online (Sandbox Code Playgroud)

我是否错误地定义了复合主键?如果没有,我为什么要进一步错误地得到MySQL错误而不是Python/SQLAlchemy错误?

python sqlalchemy composite-primary-key

19
推荐指数
1
解决办法
1万
查看次数

为什么Excel MATCH()找不到匹配项?

我有一个表格,其中一些数字存储为文本(UPC代码,因此我不想丢失前导零).COUNTIF()识别匹配很好,但MATCH()不起作用.有没有理由MATCH()不能处理存储为文本的数字,或者这只是一个限制,我将不得不解决?

excel excel-match

16
推荐指数
1
解决办法
7万
查看次数