在SQLITE中为多个表使用不同的ID

时间:2013-07-07 18:37:11

标签: android sql database sqlite

我正在使用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列进行外键引用,我将不得不通过表名来调用它。有没有办法通过使用不同的名称来使这更简单?

感谢。

1 个答案:

答案 0 :(得分:0)

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

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