1
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');
4

2 に答える 2

0

あなたが話しているFOREIGN KEYs

FOREIGN KEYsテーブルに作成するには:

/* 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)
);

次の構文に従います。 CONSTRAINT ForeignKeyName FOREIGN KEY (ColumnName) REFERENCES TableName (ColumnName)

一方、すでにテーブルを作成している場合は、テーブルFOREIGN KEYを変更するだけでを作成できます。

ALTER ChildTable ADD CONSTRAINT ForeignKeyName FOREIGN KEY (ChildColumn) REFERENCES ParentTable (ParentColumn);

于 2012-12-05T10:41:59.490 に答える
0

顧客が持つことができる雇用主は 1 つだけである場合は、雇用主 ID 参照を顧客テーブルに追加します。

顧客が複数の雇用主を持つことができる場合、顧客の ID と雇用主の ID を含む別のテーブルを作成する必要があります。

 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));

私はmysqlをよく知りません。使用した構文を使用しただけですが、外部キー参照を作成したい場合は、このリンクをチェックしてくださいhttp://dev.mysql.com/doc/refman/5.0/en/innodb-foreign -key-constraints.html

于 2012-12-05T09:38:46.793 に答える