这是一个可供任何其他需要使用它的表使用的表。因此,想象一下大量的使用。
delimiter $$
CREATE TABLE `sortorder` (
`sortOrderId` int(11) NOT NULL AUTO_INCREMENT,
`sortOrder` tinyint(4) NOT NULL,
PRIMARY KEY (`sortOrderId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8$$
需要什么来确保该表可以处理向其抛出的任何负载?
tinyint datatype
例如,如果我在菜单中有 10 个选项卡或 5 个缩略图等,我只能想象需要一个sortOrder
,那么您可以看到我们在这里不需要大的 INT 数据类型。
我需要学习和做的另一件事是在此表上设置外键约束。
例如,如果image
表删除了一条记录,sortOrderId
则需要在sortorder
表中删除匹配记录。
这是怎么做到的?
ALTER TABLE 排序代码:
ALTER TABLE sortorder ADD FOREIGN KEY fk_sortorder;
CREATE TABLE 排序代码:
...
**编辑:image
使用sortOrderId
列的表。我必须确保如果在表中删除了一条记录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$$