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');
1
A
回答
0
如果客戶可以只有一個僱主,那麼可以將僱主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
0
你說的是FOREIGN KEYs
要在表格/ s的創建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);
相關問題
- 1. 如何將「Customer Id」列添加到opencart客戶列表中?
- 2. 如何獲取使用JQuery的列表框的客戶端ID?
- 3. 如何在onepagecontroller頁面上獲取客戶ID列表?
- 4. 從QB導出客戶列表ID
- 5. 客戶列表的額外索引
- 6. 如何在客戶端保持列表?
- 7. 如何在用戶點擊openerp中的列表時獲取id?
- 8. 已在FCM中註冊過主題的客戶列表
- 9. 給定客戶ID的表中不同記錄ID的列表(DB2)
- 10. 如何在客戶端存儲用戶名列表?
- 11. 如何使用掃描儀在java中搜索客戶列表:
- 12. 如何同步自定義ID列與表的主鍵列
- 13. 如何獲得常規客戶列表
- 14. 如何讓用戶在android列表視圖中選擇主題?
- 15. 從客戶端獲取ASP下拉列表中的ID
- 16. 主鍵列(s)(id)不在此表中的列()
- 17. Symfony 2引用的列名稱ID必須是主鍵列
- 18. 如何獲得braintree中的客戶信用卡列表
- 19. 如何在Objective-C的IOS中獲取Hotspot客戶端列表?
- 20. 如何在Magento2的客戶表中添加自定義列?
- 21. 如何在博客中列出博客ID
- 22. 如何在客戶端在asp.net中存儲列表
- 23. 在發送給客戶端之前,應該將表的Id列加密/散列
- 24. 從ID列表中獲取Facebook用戶名列表
- 25. 如何在列表中映射Id?
- 26. 從MQTT客戶端獲取已連接客戶端ID的列表
- 27. 如何蟒蛇引用列表中的
- 28. 如何訪問列表中的引用?
- 29. 如何通過CLI客戶端獲取jboss用戶列表
- 30. 如何在客戶端使用DropDown列表?
不要刪除[同樣的問題以前你問]( http://stackoverflow.com/questions/13719420/sql-database-adding-table)來碰到你的問題。這可能會導致您禁止發帖。 – hims056
我被告知我的問題並不清楚,所以我想我可以重做它,我的錯誤 –
你需要*編輯*你的問題不*添加*一個問題 – hims056