CREATE TABLE nodes (
id INTEGER PRIMARY KEY NOT NULL,
lat REAL,
lon REAL,
user TEXT,
uid INTEGER,
version INTEGER,
changeset INTEGER,
timestamp TEXT
); # this worked
CREATE TABLE nodes_tags (
id INTEGER,
key TEXT,
value TEXT,
type TEXT,
FOREIGN KEY (id) REFERENCES nodes(id)
); # this did not work
CREATE TABLE ways (
id INTEGER PRIMARY KEY NOT NULL,
user TEXT,
uid INTEGER,
version TEXT,
changeset INTEGER,
timestamp TEXT
); # this worked
CREATE TABLE ways_tags (
id INTEGER NOT NULL,
key TEXT NOT NULL,
value TEXT NOT NULL,
type TEXT,
FOREIGN KEY (id) REFERENCES ways(id)
); # this did not work
CREATE TABLE ways_nodes (
id INTEGER NOT NULL,
node_id INTEGER NOT NULL,
position INTEGER NOT NULL,
FOREIGN KEY (id) REFERENCES ways(id),
FOREIGN KEY (node_id) REFERENCES nodes(id)
); # this did not work
错误代码:1064。sql语法有错误;检查与您的mariadb服务器版本对应的手册,以了解在第3行的“value text,type text,foreign key(id)references nodes(id))”附近使用的正确语法
此位置的逗号输入无效
1条答案
按热度按时间8wigbo561#
Key
是mysql中的保留关键字。您应该避免将其用作表/列名。考虑给它起个别的名字;否则,您将不得不在其周围使用反勾号。