gpt4 book ai didi

mysql - 跨连接的唯一索引?

转载 作者:行者123 更新时间:2023-11-30 23:34:50 24 4
gpt4 key购买 nike

三个表。

事件有很多比赛

比赛有很多注册

Registrations 上有一个整数'bib_number'

我需要的是确保参赛号码布对于赛事是唯一的。

我拥有的最佳解决方案是将 event_id 非规范化到注册中......然后我可以向注册添加一个唯一的 key :

UNIQUE KEY `index_bib_number_event_id` (`bib_number`, `event_id`)

....但我宁愿尽可能避免这种情况

这是表格:

CREATE TABLE `registrations` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`race_id` int(11) NOT NULL,
`bib_number` int(11) DEFAULT NULL,
PRIMARY KEY (`id`),
)

CREATE TABLE `races` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`event_id` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
}

CREATE TABLE `events` (
`id` int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`id`)
}

最佳答案

你看.. 你已经非规范化了你的registration 表,因为bib_number 不依赖于 PK (id)。因此,您可以随意将 event_id 移至 registration,但我宁愿再次查看 db 模型并尝试找出它是否正常。可能是您在设计数据库时遗漏了一些东西。

关于mysql - 跨连接的唯一索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8351554/

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