我有兩個鏈接的表,我在rails上使用ruby。我需要從命令提示符中找出外鍵。我如何從sqlite3控制檯找到外鍵?需要找到哪個是sqlite3表中的外鍵
0
A
回答
1
該關聯在Rails中定義,而不在sqlite3中定義。
檢查您的Rails項目中的應用程序/模型中的模型。
你應該看到某種定義的關係...... belongs_to
或has_many
或has_one
......還有其他的可能性,但如果你只有兩張表,那麼它們不適用。
如果定義沒有明確提到一個foreign_key那麼你可以解釋從車型的名字外鍵...
例如
class Teacher
has_many students
,告訴你,有一個外鍵在所謂的「teacher_id」
class Student
belongs_to teacher
,告訴你,有一個在學生表的外鍵被稱爲「teacher_id」(同一個外鍵的學生表 如上)。
這應該給你一些熟悉協會Rails的是如何工作的?
0
外鍵通常總是在模型中的連接。
因此,假設我有一個用戶對象具有一個帳戶對象。用戶表中的帳戶對象的外部ID將爲user_id
,反之亦然,account_id
。
但是如果你需要探索更多的東西,你可以打開你的schema.rb來找出確切的東西。
在控制檯,你也可以這樣做:
Model.column_names
0
嘗試使用sqlite3的工具與您的sqlite3的文件(例如,sqlite3的database.db),並嘗試命令:
.schema ?TABLE? Show the CREATE statements
If TABLE specified, only show tables matching
LIKE pattern TABLE.
要列出表格:
.tables ?TABLE? List names of tables
If TABLE specified, only list tables matching
LIKE pattern TABLE.
相關問題
- 1. JPA是否需要外鍵
- 2. sqlite3的外鍵
- 3. 是否需要多個外鍵?
- 4. SQLite3中的外鍵支持
- 5. mysql表中的外鍵 - 是否需要目標數據?
- 6. 我的數據庫表中是否需要外鍵?
- 7. 我需要將主表的主鍵轉到依賴表中的外鍵字段
- 8. 我是否需要跨多個表繼承外鍵?
- 9. 我是否需要將值插入到SQL中的外鍵?
- 10. 所有表都需要主鍵還是外鍵足夠?
- 11. 我需要使用外鍵刪除多個表中的多行
- 12. 在SQLite3中關聯外鍵
- 13. EF多個外鍵只需要1個
- 14. has_many realation是否需要外鍵?
- 15. 我是否需要填寫外鍵值?
- 16. 外鍵總是需要約束嗎?
- 17. 我們是否需要引用另外兩個表的表上的主鍵?
- 18. 有四個表和一個並不總是需要的外鍵的C#Linq
- 19. 需要找到一個MySQL表
- 20. 如果需要多個約束,對每列需要單獨的外鍵表?
- 21. PDO上的sqlite3外鍵
- 22. 需要主鍵和外鍵的幫助
- 23. MySQL:我需要一個外鍵嗎?
- 24. 運行SQLite3數據庫轉儲需要哪個Android權限?
- 25. 查找需要哪個框架?
- 26. 需要幫助外鍵
- 27. MYSQL外鍵執法需要
- 28. 需要外國鍵陣列
- 29. 我是否需要一個簡單的表中的主鍵?
- 30. MySQL InnoDB總是需要每個外鍵約束的索引嗎?
儘管關聯可以由Rails定義,他們可以在學生中說出一個外鍵列('teacher_id')表是實際創建的? – Snarf
好吧,OP說這些表是關聯的,所以我推測(可能錯誤地)有一個工作關聯。 OP沒有問fk應該是什麼,他問他如何找回它。 – SteveTurczyn
我需要知道它是什麼,因爲表中有兩個名稱非常相似的值。一個名爲Rooms的表格和一個名爲People的表格。我需要從People表中找出外鍵,並將這些列命名爲「id」,「name」和「room_id」。我不確定哪個外鍵已經設置。 – user3384570