0
我是新來的數據庫。使用SQLite3來存儲一個Lua腳本的對象,我想交織兩個表。如何建立關係
比方說,LUA對象是這樣的:
class_A.name = ""
class_A.currency = 0
class_A.salary = 0
class_A.misc = {}
class_A.customers = {} -- this stores related objects of class_B
class_A:function1() something is something end
class_A:function2() something is something else end
class_B.name = ""
class_B.id = ""
class_B.value = 0
class_B.consultant = {} -- this stores related objects of class_B
class_B:function1() something is different end
現在我在SQLite的表中存儲這些。該「relatedObjects」 -var應存放在3臺,這應該與此類似:
-- class_A table:
| Idx | Name | currency | salary | misc |
|------|-------|----------|--------|------|
| 1 | john | 1,233.00 | 2,300 | null |
| 2 | eva | 4,100.00 | 1,970 | null |
-- class_B table
| Idx | Name | currency | salary | misc |
|------|----------|----------|--------|------|
| 1 | peterson | 1,233.00 | 2,300 | null |
| 2 | griffin | 4,100.00 | 1,970 | null |
| 3 | simpson | 2,738.00 | 2,100 | null |
--Interleave
--index of the respective table
| consultant | csutomer |
|------------|----------|
| 1 | 2 |
| 2 | 1 |
| 3 | 1 |
| 3 | 2 |
我希望你有我的觀點,不要以爲這是檸困難的,因此,我覺得很垃圾馬上。 Idx值爲AUTOINCREMENT,因此不應出現任何混淆。
問題是如何設置此交錯表。
我嘗試這樣做:
CREATE TABLE Interleave(_A INTEGER FOREIGN KEY Class_A.Idx, _B INTEGER FOREIGN KREY Class_B.Idx)
INSERT INTO Interleave (_A, _B) VALUES (Class_A.Idx WHERE name = 'john', Class_B.Idx WHERE name = 'griffin')
但它告訴我,「近‘WHERE’:語法錯誤:」(沒有錯誤代碼)
我不知道你的問題是什麼。你寫的一切看起來都不錯。 –
這只是它應該是什麼樣子的概念,但我不知道如何去做。對數據庫真的很陌生。 – Sempie