嗨,我正在尝试在Google Cloud sql的mysql数据库中创建成功的表。
我的问题是用多个外键创建表-我尝试并遇到错误。
我的语法是:
CREATE TABLE images
CREATE TABLE images_tbl (
url TEXT,
categoryId NUMERIC,
userId NUMERIC,
beginIndex INT,
endIndex INT,
imageId SERIAL PRIMARY KEY,
CONSTRAINT FK_CATEGORYIMAGE FOREIGN KEY (categoryId) REFERENCES categories_tbl(categoryId),
CONSTRAINTS FK_USERIMAGE FOREIGN KEY (userId) REFERENCES users(UserId));
错误是:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CREATE TABLE images_tbl (url TEXT,categoryId NUMERIC,userId NUMERIC,beginIndex I' at line 1.
我在互联网上找不到资料。请成为好人,并尽快帮助我-这是有关生产的应用程序!
答案 0 :(得分:1)
我认为您为第二个外键拼写错误的“ CONSTRAINT”。你可以尝试:
CREATE TABLE images_tbl (
url TEXT,
categoryId NUMERIC,
userId NUMERIC,
beginIndex INT,
endIndex INT,
imageId SERIAL PRIMARY KEY,
CONSTRAINT FK_CATEGORYIMAGE FOREIGN KEY (categoryId) REFERENCES categories_tbl(categoryId),
CONSTRAINT FK_USERIMAGE FOREIGN KEY (userId) REFERENCES users(UserId));
您还需要确保NUMERIC
表和categories_tbl
表中的categoryId和userId类型为users
。这些表中的categoryId和userId列也必须为PRIMARY KEY
。