簡體   English   中英

sqlalchemy創建外鍵?

[英]sqlalchemy create a foreign key?

我在表字符串中有一個復合PK(整數id,varchar(2)lang)

我想創建一個FK,使其僅包含來自其他表的PK的id一半。 這意味着在字符串表(翻譯)中可能有許多行與FK匹配。 我只需要存儲ID,並由數據庫維護引用完整性。

這可能嗎? 如果是這樣,怎么辦?

這是來自維基

引用表中的列必須是引用表中的主鍵或其他候選鍵。 引用列的一行中的值必須出現在引用表的一行中。

假設您有以下內容:

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

外鍵必須精確地引用引用表中的一行 這就是為什么它通常引用主鍵的原因。

在您的情況下,您需要制作另一個存儲ID的Table1(id),並使列唯一/主鍵。 當前表中的id列不是唯一的-不能在您的情況下使用它...因此,您需要創建Table1(id-主鍵) ,並將當前表中的id用作Table1的外鍵 現在,您可以在Table1中創建ID的外鍵,並且當前表中的主鍵正常。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM