gpt4 book ai didi

mysql - 在这个 mysql 示例中是否需要只有一列的主表?

转载 作者:行者123 更新时间:2023-11-29 02:07:12 25 4
gpt4 key购买 nike

我有一个带有一个表的 mysql 数据库,其中包含多个其他表的版本信息。为了链接到同一系列版本,我有一个 version_master 表,其中包含链接所引用的版本系列的主键。我想知道是否有更优雅的解决方案而不需要 version_master 表。

CREATE TABLE IF NOT EXISTS `version` (
`version_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`version_master_id` int(10) unsigned NOT NULL,
`major` int(10) unsigned NOT NULL DEFAULT '0',
`minor` int(10) unsigned NOT NULL DEFAULT '0',
`patch` int(10) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`version_id`));

CREATE TABLE IF NOT EXISTS `version_master` (
`version_master_id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY);

CREATE TABLE IF NOT EXISTS `needs_versions` (
`needs_versions_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`date_created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`name` varchar(128) COLLATE utf8_unicode_ci NOT NULL,
`description` text COLLATE utf8_unicode_ci NOT NULL,
`version_master_id` int(10) unsigned NOT NULL,
PRIMARY KEY (`needs_versions_id`));

最佳答案

在本例中,您当然可以删除version_master 表,并使用version_idversion_master_id 字段的组合作为索引。我认为您可以放弃它,因为似乎没有任何东西可以用外键引用它。

但是,如果您有与每个版本系列相关的附加信息,那么拥有 version_master 将是一个好主意。

另外,您正在尝试从未定义的列 offer_type_id 中创建主键。目前尚不清楚您是否可以在逻辑上将 needs_versionsversion_master 合并。名称本身不是很具描述性。我建议不要在表名中使用动词。

关于mysql - 在这个 mysql 示例中是否需要只有一列的主表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3953267/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com