gpt4 book ai didi

sqlite附近的语法错误

转载 作者:行者123 更新时间:2023-12-01 12:40:08 24 4
gpt4 key购买 nike

我是 sql 的新手,正在尝试创建一个表,该表具有对另一个表的外键引用。我不断收到接近语法错误的消息,但无法弄清楚原因。看下面的sql语句

第一张 table

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

...> );

第一个表工作正常。

第二张表

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

...> );

错误:“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)
);

参见此处:http://sqlfiddle.com/#!7/f3f38/1/0

关于sqlite附近的语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25671056/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com