Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.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 创建一个表,SQL。基本材料_Mysql_Sql_Database_Database Table - Fatal编程技术网

Mysql 创建一个表,SQL。基本材料

Mysql 创建一个表,SQL。基本材料,mysql,sql,database,database-table,Mysql,Sql,Database,Database Table,所以我在创建表时遇到了一个小问题。问题在于我试图创建另一个表的外键。我目前正在使用MYSQL2008管理R2 express,因此没有设计师。这是我的两张桌子 use teckDB; CREATE TABLE inventory ( primId int NOT NULL PRIMARY KEY, prodName VarChar(255), quantity int, prodCost MONEY, prodDesc VARCHAR(255) ); CREATE

所以我在创建表时遇到了一个小问题。问题在于我试图创建另一个表的外键。我目前正在使用MYSQL2008管理R2 express,因此没有设计师。这是我的两张桌子

use teckDB;

CREATE TABLE inventory
(
  primId int NOT NULL PRIMARY KEY,
  prodName VarChar(255),
  quantity int,
  prodCost MONEY,
  prodDesc VARCHAR(255)   
);

CREATE TABLE orderTB
(
 primId INT NOT NULL PRIMARY KEY,
 orderId INT NOT NULL,
 created date,
 prodId INT,
);
那两张桌子没有问题。但是,当创建第三个时,会导致此错误消息

Msg 1769,第16级,状态1,第3行外键“orderTB”引用 引用表“CustomerTB”中的列“orderTB”无效。味精1750, 级别16,状态0,第3行无法创建约束。见前文 错误

在…的第三张桌子上

CREATE TABLE CustomerTB
(
 primId INT NOT NULL  PRIMARY KEY,
 orderId INT, FOREIGN KEY (orderTB) REFERENCES orderTB(orderId),
 fName VARCHAR(50),
 lName VARCHAR(50),
 addLN1 VARCHAR(255),
 addLN2 VARCHAR(255),
 addCity VARCHAR(255),
 addPro VARCHAR(255),
 addPST VARCHAR(7)
 );
试试这个

FOREIGN KEY (iparent_id) REFERENCES innodb_parent (iparent_id)

我认为这应该有助于解决你的疑问


在“orderId INT”之后有一个额外的逗号,并且外键语法错误

这应该起作用:

CREATE TABLE CustomerTB
(
  primId INT NOT NULL  PRIMARY KEY,
  orderId INT REFERENCES orderTB(orderId),
  fName VARCHAR(50),
  lName VARCHAR(50),
  addLN1 VARCHAR(255),
  addLN2 VARCHAR(255),
  addCity VARCHAR(255),
  addPro VARCHAR(255),
  addPST VARCHAR(7)
);

上进行了测试,所以我只是简单地创建了表,并尝试使用alter语句获取外键。使用teckDB;Alter Table CustomerTB ADD外键(orderId)引用orderTb(orderId);仍然有相同的错误消息,但是。。。