簡體   English   中英

在SQLite3中將表記錄綁定在一起

[英]Tying table records together in SQLite3

我目前正在使用SQLite Studio中的數據庫結構(不確定這本身是否很重要,但不妨提一下),錯誤消息讓我懷疑我是在以錯誤的方式進行操作還是存在一些細微的問題不見了。

假設有兩個表,人員基礎(人員ID,人員名稱,人員性別)和人員統計(人員ID,人員名稱,人員大小)。 我希望實現的是“人員基礎中的每個記錄對應於人員統計中的單個記錄。”,理想情況下,具有人員統計中的人員ID和人員名稱反映相關的人員ID的附加屬性和人員基礎中的人員名。

到目前為止,我一直以為可以使用外鍵來實現這一目標,但是我也一直無法使它起作用。

當我在人員基礎中添加人員時,它可以正常工作,但是當我轉到人員統計信息時,不存在相應的記錄,並且如果我嘗試創建一個並用相應的數據填充“外鍵”列,則會收到以下消息: “無法編輯此單元格。詳細信息:在數據庫'People'上執行SQL查詢時出錯:無此類列:people-basics.person”(我認為該消息已被截斷)。

我的表目前具有的DDL(由SQLite Studio根據我的GUI操作自動生成):

CREATE TABLE [people-basics] (
    [person-ID]           INTEGER PRIMARY KEY AUTOINCREMENT
                                UNIQUE
                                NOT NULL,
    [person-NAME]         TEXT    UNIQUE
                                NOT NULL,
    [person-GENDER]     TEXT
);

CREATE TABLE [people-stats] (
    [person-NAME]       TEXT    REFERENCES [people-basics] ([person-NAME]),
    [person-SIZE]     NUMERIC
);

(我現在已經從人員統計信息中刪除了人員ID列,因為好像我一次只應該擁有一個外鍵,不確定那是不是真的。)

好吧,那有點愚蠢。

通過從表名和列名中刪除連字符,解決了整個問題。 (因此:用charBasics代替char-basics等)

呃,好吧。

暫無
暫無

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

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