【发布时间】:2011-01-24 22:24:37
【问题描述】:
我在 SQLite3 中创建了以下表格来标记项目(在阅读 this great response 之后)。标签保存在标签表中,ItemTags 将显示一个项目(来自表项目)和一个或多个标签(来自表标签)之间的关系。
CREATE TABLE Items ItemID INTEGER PRIMARY KEY, Title TEXT, Comment TEXT;
CREATE TABLE Tags TagID INTEGER PRIMARY KEY, Title TEXT;
CREATE TABLE ItemsTags ItemID INTEGER, TagID INTEGER;
当提交新行时,用户将输入标题和评论(将保存在表项中)并从一个或多个标签(从表标签中选择/添加到表标签中)中进行选择。到目前为止,我已经成功地做到了这一点:
INSERT INTO Items (Title, Comment) VALUES ('First title', 'First comment');
我希望列 ItemID 是 INTEGER PRIMARY KEY,但同时,我想在同一个调用中访问该值。例如,假设我的表标签具有以下布局:
TagID | Title
------|----------
1 | First tag
2 | Second tag
并且我想用 TagID 1 和 2 标记上述语句(“第一个标题”,其 TitleID 为 1),并将关系保存到表 ItemsTags。完成后,我希望进行以下更改:
Table: Items
TitleID | Title | Comment
--------|-------------|--------------
1 | First title | First comment
Table: Tags
TagID | Title
------|----------
1 | First tag
2 | Second tag
Table: ItemsTags
TagID | ItemID
------|---------
1 | 1
2 | 1
我怎样才能做到这一点?提前致谢!
【问题讨论】:
标签: database database-design tags sqlite