Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.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 我如何在“客户”下创建一列,其中引用;id";从雇主表中_Mysql_Sql_Database - Fatal编程技术网

Mysql 我如何在“客户”下创建一列,其中引用;id";从雇主表中

Mysql 我如何在“客户”下创建一列,其中引用;id";从雇主表中,mysql,sql,database,Mysql,Sql,Database,如果客户可以有一个但只有一个雇主,则是,将雇主id引用添加到客户表中 如果客户可以有多个雇主,则必须创建另一个包含客户ID和雇主ID的表 CREATE TABLE College ( CollegeID INTEGER AUTO_INCREMENT NOT NULL, Collegename varchar(50), PRIMARY KEY(CollegeID)); INSERT INTO `College` (`CollegeID`, `Collegename`) V

如果客户可以有一个但只有一个雇主,则是,将雇主id引用添加到客户表中

如果客户可以有多个雇主,则必须创建另一个包含客户ID和雇主ID的表

CREATE TABLE College (
    CollegeID INTEGER AUTO_INCREMENT NOT NULL,
    Collegename varchar(50),
    PRIMARY KEY(CollegeID));

INSERT INTO `College` (`CollegeID`, `Collegename`) VALUES
(1, 'Harvard'),
(2, 'Princeton'),
(3, 'Columbia'),
(4, 'Georgetown'),
(5, 'Yale');



 CREATE TABLE Customer (
    CustomerID INTEGER PRIMARY KEY AUTO_INCREMENT NOT NULL,
    FirstName varchar(20),
    LastName varchar(20),
    DateHired DATE,
    CollegeID INTEGER REFERENCES College(CollegeID));



INSERT INTO `Customer` (`CustomerID`, `FirstName`, `LastName`, `DateHired`, `CollegeID`) VALUES
(111, 'Johnny', 'Silvia', '20100301', 1),
(222, 'Billy', 'Blank', '20070111', 2),
(333, 'Susan', 'Anderson', '20021222', 3),
(444, 'Samantha', 'Love', '19990521', 3),
(555, 'Bill', 'Gray', '20010913', 5);



CREATE TABLE `employer` (
  `id` INTEGER NOT NULL,
  `EmployerName` varchar(60) NOT NULL,
  PRIMARY KEY(id));


INSERT INTO `employer` (`id`, `EmployerName`) VALUES
(1111, 'McDonalds');

我不太了解mysql,我只是采用了您使用的语法,但是如果您想创建外键引用,请查看此链接,您正在谈论的是
外键

要在表上创建外键,请执行以下操作:

 CREATE TABLE Customer (
    CustomerID INTEGER PRIMARY KEY AUTO_INCREMENT NOT NULL,
    EmployerID INTEGER REFERENCES employer(id),
    FirstName varchar(20),
    LastName varchar(20),
    DateHired DATE,
    CollegeID INTEGER REFERENCES College(CollegeID));
遵循以下语法:
约束ForeignKeyName外键(ColumnName)引用TableName(ColumnName)

另一方面,如果已经创建了表,则只需更改表即可创建
外键


ALTER ChildTable添加约束ForeignKeyName外键(ChildColumn)引用ParentTable(ParentColumn)

不要删除以打断您的问题。这可能会导致你发布禁令。我被告知我的问题不清楚,所以我想我可以重做,我的错误是你需要编辑你的问题,而不是添加问题
/* Create the Parent Table */
CREATE TABLE College (
    ID INTEGER AUTO_INCREMENT NOT NULL,
    CollegeName VARCHAR(50),
    PRIMARY KEY(ID)
);

/* Create the Child Table and Referece the Column CollegeId of this table to the Id Column of College Table */
CREATE TABLE Customer (
    ID INT(11) AUTO_INCREMENT NOT NULL,
    Name VARCHAR(40),
    CollegeID INT(11),
    PRIMARY KEY(ID),
    CONSTRAINT FK_Customer_College FOREIGN KEY (CollegeID) REFERENCES College (ID)
);