Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法在MySQL中为相关架构生成表_Mysql_Sql_Database - Fatal编程技术网

无法在MySQL中为相关架构生成表

无法在MySQL中为相关架构生成表,mysql,sql,database,Mysql,Sql,Database,我是一个SQL noob,我才刚刚开始学习它。我在建立这个数据库时遇到问题。每次我使用mySQL运行它时,我都会收到一个错误,说它无法构建项目、类别或出价表,我认为这是因为我的外键以及它们的结构。我已经为此绞尽脑汁好几个小时了,我似乎无法得出正确的结论来解释为什么我不能建立我的表格 有人能给我指出正确的方向吗。谢谢 您的参考子句需要参考的列。例如: DROP Table if exists Users; CREATE Table Users(UserID varchar(200) PRIMARY

我是一个SQL noob,我才刚刚开始学习它。我在建立这个数据库时遇到问题。每次我使用mySQL运行它时,我都会收到一个错误,说它无法构建项目、类别或出价表,我认为这是因为我的外键以及它们的结构。我已经为此绞尽脑汁好几个小时了,我似乎无法得出正确的结论来解释为什么我不能建立我的表格


有人能给我指出正确的方向吗。谢谢

您的
参考
子句需要参考的列。例如:

DROP Table if exists Users;
CREATE Table Users(UserID varchar(200) PRIMARY KEY,
Rating INTEGER NOT NULL,
Location varchar(200),
Country varchar(200)
);

DROP Table if exists Item;
CREATE Table Item(ItemID integer PRIMARY KEY,
name1 varchar(200) NOT NULL,
currently INTEGER NOT NULL,
buy_price INTEGER NOT NULL,
first_bid INTEGER NOT NULL,
started varchar(200) NOT NULL,
ends varchar(200) NOT NULL,
UserID varchar(200) NOT NULL,
Description varchar(2000),
FOREIGN KEY(UserID) REFERENCES Users
);

DROP Table if exists Categories;
CREATE Table Categories(ItemID INTEGER NOT NULL,
Category varchar(200) NOT NULL,
PRIMARY KEY(ItemID, Category),
FOREIGN KEY(ItemID) REFERENCES Item
);

DROP Table if exists Bids;
CREATE Table Bids(ItemID INTEGER NOT NULL, UserID varchar(200) NOT NULL,     Amount varchar(200) NOT NULL,
PRIMARY KEY(ItemID, UserID, Amount),
FOREIGN KEY(ItemID) REFERENCES Item,
FOREIGN KEY(UserID) REFERENCES Users
);

您需要修复所有外键引用。

您的
引用
子句需要引用的列。例如:

DROP Table if exists Users;
CREATE Table Users(UserID varchar(200) PRIMARY KEY,
Rating INTEGER NOT NULL,
Location varchar(200),
Country varchar(200)
);

DROP Table if exists Item;
CREATE Table Item(ItemID integer PRIMARY KEY,
name1 varchar(200) NOT NULL,
currently INTEGER NOT NULL,
buy_price INTEGER NOT NULL,
first_bid INTEGER NOT NULL,
started varchar(200) NOT NULL,
ends varchar(200) NOT NULL,
UserID varchar(200) NOT NULL,
Description varchar(2000),
FOREIGN KEY(UserID) REFERENCES Users
);

DROP Table if exists Categories;
CREATE Table Categories(ItemID INTEGER NOT NULL,
Category varchar(200) NOT NULL,
PRIMARY KEY(ItemID, Category),
FOREIGN KEY(ItemID) REFERENCES Item
);

DROP Table if exists Bids;
CREATE Table Bids(ItemID INTEGER NOT NULL, UserID varchar(200) NOT NULL,     Amount varchar(200) NOT NULL,
PRIMARY KEY(ItemID, UserID, Amount),
FOREIGN KEY(ItemID) REFERENCES Item,
FOREIGN KEY(UserID) REFERENCES Users
);

您需要修复所有外键引用。

您的外键似乎缺少其他表中的列名您的外键似乎缺少其他表中的列名!嘘!谢谢。我都没看见!最后一个问题对不起!我修复了这些错误,但是当我在mySQL上运行这个文件时,我收到了一堆警告,你知道这可能与什么有关吗?@vampyfreak。在不知道警告的情况下,很难说。我得到的错误是:错误1217(23000):无法删除或更新父行:外键约束失败错误1050(42S01):表“用户”已存在错误1217(23000):无法删除或更新父行:外键约束失败错误1050(42S01):表“项”已存在exists@vampyfreak . . . 这很奇怪。您似乎在尝试创建表之前删除了该表。我建议您删除所有的表,然后一次运行一个
create
s。这样做很有效,但我必须将drop语句放在另一个文件中,然后再运行一遍。但现在我还有两个错误:警告(代码1366):不正确的整数值:第1行“buy_price”列的“NULL”警告(代码1262):第1行被截断;它包含的数据比输入栏中的数据还多,真糟糕!嘘!谢谢。我都没看见!最后一个问题对不起!我修复了这些错误,但是当我在mySQL上运行这个文件时,我收到了一堆警告,你知道这可能与什么有关吗?@vampyfreak。在不知道警告的情况下,很难说。我得到的错误是:错误1217(23000):无法删除或更新父行:外键约束失败错误1050(42S01):表“用户”已存在错误1217(23000):无法删除或更新父行:外键约束失败错误1050(42S01):表“项”已存在exists@vampyfreak . . . 这很奇怪。您似乎在尝试创建表之前删除了该表。我建议您删除所有的表,然后一次运行一个
create
s。这样做很有效,但我必须将drop语句放在另一个文件中,然后再运行一遍。但现在我还有两个错误:警告(代码1366):不正确的整数值:第1行“buy_price”列的“NULL”警告(代码1262):第1行被截断;它包含的数据比输入列多