这里的新手总数,关于sqlite,所以不要太过刻火:)
我有一张桌子:
index name length L breadth B height H
1 M-1234 10 5 2
2 M-2345 20 10 3
3 ....
如何将一些表格数据(比如说十个x,y值)与索引1相对应,然后将另一个表格放到索引2,然后放入另一个表格等等。简而言之,我有一个x表格和y值“连接”到第一行,然后是另一个连接到第二行的值。
我正在阅读有关sqlite3(我正在使用)的一些教程,但我很难找到它。如果有人知道一个好的新手教程或一本关于sqlite3(CLI)的书,我也都会听到这个问题:)
答案 0 :(得分:2)
您只是在寻找information on join
s和foreign key
的概念,虽然SQLite3不强制执行,但却是您需要的。无论如何,你可以没有它。
在您的情况下,您可以在表格中添加两个“列”,一个x
和另一个y
,或者创建一个包含3个“列”的新表:foreign_index
, x
和y
。使用哪一个取决于您要完成的任务,性能和可维护性。
如果您使用链接表路由,最终会得到两个表,如下所示:
MyTable
index name length L breadth B height H
1 M-1234 10 5 2
2 M-2345 20 10 3
3 ....
XandY
foreign_index x y
1 12 9
2 8 7
3 ...
当您想要元素的x
和y
值时,您只需使用类似SELECT x, y FROM XandY WHERE foreign_index = $idx;
要获取所有相关属性,只需执行JOIN
:
SELECT index, name, length, breadth, height, x, y FROM MyTable INNER JOIN XandY ON MyTable.index = XandY.foreign_index;