我是 sql 新手,并尝试创建一个具有对另一个表的外键引用的表。我不断遇到语法错误,但不明白为什么。参见下面的sql语句
第一桌
sqlite> CREATE TABLE nl_central_teams (
...> id INTEGER PRIMARY KEY AUTOINCREMENT,
...> team_name VARCHAR(64) NOT NULL,
...> city VARCHAR(64) NOT NULL,
...> main_color VARCAR(64) NOT NULL,
...> created_at DATETIME NOT NULL,
...> updated_at DATETIME NOT NULL
...> );
Run Code Online (Sandbox Code Playgroud)
第一张表工作正常。
第二张桌子
sqlite> CREATE TABLE managers(
...> id INTEGER PRIMARY KEY AUTOINCREMENT,
...> first_name VARCHAR(64) NOT NULL,
...> last_name VARCHAR(64) NOT NULL,
...> team_id INTEGER,
...> FOREIGN KEY(team_id) REFERENCES nl_central_teams(id),
...> created_at DATETIME NOT NULL,
...> updated_at DATETIME NOT NULL
...> );
Run Code Online (Sandbox Code Playgroud)
错误:“created_at”附近:语法错误
我觉得我的语法是正确的,但无法弄清楚为什么会出现此错误。任何帮助,将不胜感激,
外键约束应位于 CREATE TABLE 定义的末尾。
您的经理 CREATE TABLE 语句应如下所示:
CREATE TABLE managers(
id INTEGER PRIMARY KEY AUTOINCREMENT,
first_name VARCHAR(64) NOT NULL,
last_name VARCHAR(64) NOT NULL,
team_id INTEGER,
created_at DATETIME NOT NULL,
updated_at DATETIME NOT NULL,
FOREIGN KEY(team_id) REFERENCES nl_central_teams(id)
);
Run Code Online (Sandbox Code Playgroud)
请参阅此处:http ://sqlfiddle.com/#!7/f3f38/1/0
归档时间: |
|
查看次数: |
26312 次 |
最近记录: |