色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

mysql二級分類設計

林子帆2年前8瀏覽0評論

在設計數據庫時,分類功能是非常常見的需求。通常的二級分類設計是將分類信息拆分成兩個表:一個存儲主分類信息,一個存儲子分類信息,通過外鍵關聯將子分類與主分類關聯起來。下面是一個基本的 mysql 二級分類設計。

CREATE TABLE `category` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE `subcategory` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
`category_id` int(10) unsigned NOT NULL,
PRIMARY KEY (`id`),
KEY `category_id` (`category_id`),
CONSTRAINT `subcategory_category_id_category_id` FOREIGN KEY (`category_id`) REFERENCES `category` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

如上代碼中,`category` 表存儲主分類信息,包括一個自增的 `id` 主鍵和一個不為空的 `name` 字段。`subcategory` 表存儲子分類信息,包括一個自增的 `id` 主鍵、一個不為空的 `name` 字段和一個 `category_id` 外鍵。

在使用該分類表時,可以通過以下方式進行調用:

SELECT c.name AS category_name, sc.name AS subcategory_name
FROM category c
JOIN subcategory sc ON c.id = sc.category_id

上述 SQL 語句可以將主分類和子分類關聯起來,返回每個子分類對應的主分類名稱。