【发布时间】:2012-08-29 07:22:15
【问题描述】:
我目前正在从事一个项目,该项目涉及将数据存储在 HTML5 SQL-Lite 数据库中。目前,我的架构如下(4 个表):
TransData:
-----------------------------------------------------------
| TID | UserName | TransColor | ... | Date | Note |
-----------------------------------------------------------
| 6 | Brendan | Red | ... | | |
-----------------------------------------------------------
| 7 | Brendan | Red | ... | | 1 |
-----------------------------------------------------------
FullData:
-----------------------------------------------------------
| TID | UserName | TransColor | ... | Date | Note |
-----------------------------------------------------------
| 1 | Brendan | Red | ... | | Start |
-----------------------------------------------------------
| ... | Brendan | Red | ... | | |
-----------------------------------------------------------
| 40 | Brendan | Red | ... | | End |
-----------------------------------------------------------
SalamanderData:
----------------------------------------------------
| SID | SalamanderName | Length | ... | TID |
----------------------------------------------------
| 1 | Northern-Slimy | 16 | ... | 6 |
----------------------------------------------------
| 2 | Two-Lined | 26 | ... | 6 |
----------------------------------------------------
| 3 | Two-Lined | 12 | ... | 7 |
----------------------------------------------------
SalamanderData:
----------------------------------------------------
| SID | SalamanderName | Length | ... | TID |
----------------------------------------------------
| 1 | Northern-Slimy | 16 | ... | 6 |
----------------------------------------------------
| 2 | Two-Lined | 26 | ... | 6 |
----------------------------------------------------
| 3 | Two-Lined | 12 | ... | 7 |
----------------------------------------------------
注意:TransData 中的“Note”列用于指向 FullData 字段中集合的开始数据点。
我的应用程序和服务器之间的数据库不应该同步。我只是想将所有这些表转储到服务器上的数据库中(我的意思是转储,更新对其他表的引用,然后插入到服务器数据库中)。
我打算使用MAX(TID-Server) + TID-App = new TID-Server,并将更新级联到表格中。
你会怎么做呢?
【问题讨论】:
-
谁能帮忙?我不知道如何编写一个插入查询,首先将更新级联到插入的项目。
-
您显示 SalamanderData 两次。如果我正确理解您的问题,您有 4 个“客户端”表,其表架构类似于“服务器端”。这些表不同步,也不会同步,但有时您需要将所有 4 个“客户端”表的内容发送到服务器,在那里它们将被适当地更新或插入。最大的挑战是主键,它们当然不会同步(或者更糟糕的是可能会重复)。这么近了吗?
-
就是这样。是的,我不小心复制了我的 SalamanderData 表两次;那应该是一个 BugData 表,它显示各种错误的计数,例如蜈蚣和千足虫。我需要在插入时更新主键,以便它们同步到表并相互同步。
标签: javascript sql database html sync