【问题标题】:Using different IDs for multiple table in SQLITE在 SQLITE 中为多个表使用不同的 ID
【发布时间】:2013-07-07 18:37:11
【问题描述】:

我正在使用 SQLite 开发一个 android 应用程序。到目前为止,我了解到的是,用 SQLite 制作的表需要一个名为 _id 的列。因此,例如,要创建一个表,我使用以下 SQL 语句:

CREATE TABLE IF NOT EXISTS Semesters(
_id INTEGER PRIMARY KEY AUTOINCREMENT,
semester_name TEXT,
is_current TEXT
GPA REAL);

但是,现在如果我想在同一个数据库中创建一个单独的表,我应该将主键列命名为什么?例如,这是我要创建的表:

CREATE TABLE IF NOT EXISTS Classes(
_id INTEGER PRIMARY KEY AUTOINCREMENT,
course_name TEXT);

现在,学期表和课程表都有一个名为 _id 的列,如果我想对学期表中的 _id 列进行外键引用,我必须通过表名来调用它。有没有办法通过为 id 使用不同的名称来简化这个过程?

谢谢。

【问题讨论】:

  • 比什么简单?您的问题不清楚。

标签: android sql database sqlite


【解决方案1】:

例如,您创建第三个表并希望将表中的两个主键用作外键:

CREATE TABLE ClassSemester(
_id INTEGER   PRIMARY KEY AUTOINCREMENT,
semester_id   INTEGER, 
class_id      INTEGER,
FOREIGN KEY(semester_id) REFERENCES Semesters(_id),
FOREIGN KEY(class_id) REFERENCES Classes(_id)
);

这里有更多细节: http://www.sqlite.org/foreignkeys.html

【讨论】:

    猜你喜欢
    • 2021-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-08
    相关资源
    最近更新 更多