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