代码之家  ›  专栏  ›  技术社区  ›  Eloff

sqlalchemy是否创建外键?

  •  1
  • Eloff  · 技术社区  · 17 年前

    我在表字符串中有一个复合PK(整数id,varchar(2)lang)

    我想创建一个FK,只包含来自其他表的PK的一半id。这意味着字符串表(翻译)中可能有许多行与FK匹配。我只需要存储id,并由DB维护引用完整性。

    这可能吗?如果是,怎么做?

    1 回复  |  直到 17 年前
        1
  •  3
  •   Jonathan Leffler    17 年前

    这是从 wiki

    必须是主键或其他

    id | var            
    1  |  10            
    1  |  11          
    2  |  10
    

    外键必须引用 正好一排 从引用的表中。这就是它通常引用主键的原因。

    在您的情况下,需要创建另一个表1(id),在其中存储id,并使列唯一/主键。当前表中的id列不是唯一的-在您的情况下不能使用它。。。所以您创建了一个Table1(id-主键) 并使当前表中的id成为表1的外键 . 现在您可以在表1中为id创建外键,并且当前表中的主键是ok的。