1

我正在使用 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 名称来简化这一点?

谢谢。

4

1 回答 1

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

于 2013-07-07T19:34:55.113 回答