這是一個表格,可以被任何需要使用它的表格使用。因此,想象大量的使用。MySql - 具有外鍵約束的CREATE TABLE`SortOrder`?
delimiter $$
CREATE TABLE `sortorder` (
`sortOrderId` int(11) NOT NULL AUTO_INCREMENT,
`sortOrder` tinyint(4) NOT NULL,
PRIMARY KEY (`sortOrderId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8$$
需要什麼來確保此表可以處理任何LOAD被拋出的情況?
我只能想象需要爲sortOrder
例如tinyint datatype
,如果我有一個菜單的10個標籤,或5個縮略圖等,然後就可以看到我們就不需要大的INT數據類型在這裏。
我需要學習和做的另一件事是在該表上設置一個外鍵約束。
如果例如image
表刪除sortOrderId
的記錄,則需要在sortorder
表中刪除匹配記錄。
這是如何完成的?
ALTER TABLE排序順序的代碼:
ALTER TABLE sortorder ADD FOREIGN KEY fk_sortorder;
CREATE TABLE排序順序的代碼:
...
**編輯:使用sortOrderId
柱image
表。 我必須確保如果在image
表中刪除了一條記錄 - 相應的記錄將在sortorder
表中刪除。
delimiter $$
CREATE TABLE `image` (
`imageId` int(11) NOT NULL AUTO_INCREMENT,
`imageFileName` varchar(45) DEFAULT NULL,
`imagePath` varchar(255) DEFAULT NULL,
`imageTitle` varchar(100) DEFAULT NULL,
`imageAlt` varchar(100) DEFAULT NULL,
`imageWidth` int(11) DEFAULT NULL,
`imageHeight` int(11) DEFAULT NULL,
`classId` int(11) DEFAULT NULL,
`imageSizeId` tinyint(4) NOT NULL,
`isImageEnabled` bit(1) DEFAULT b'0',
`sortOrderId` int(11) DEFAULT NULL,
PRIMARY KEY (`imageId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8$$
是否有ALTER TABLE語法我應該用來創建和設置外鍵? – JoJo
@jojo外鍵?我想你只是想要一個'index' http://dev.mysql.com/doc/refman/5.0/en/create-index.html如果它是一個外鍵你應該發佈你的其他表 –
CREATE [UNIQUE | FULLTEXT | SPATIAL] INDEX index_name' - sortOrder是什麼類型的INDEX? – JoJo