gpt4 book ai didi

mysql - 需要一些关于创建表的提示

转载 作者:太空宇宙 更新时间:2023-11-03 11:19:06 24 4
gpt4 key购买 nike

我打算像这样创建一个表来存储比赛结果:

Place    RaceNumber       Gender      Name              Result    
12 0112 Male Mike Lee 1:32:40
16 0117 Female Rose Mary 2:20:40

我对项目类型定义感到困惑。

  1. 我不确定result 是否可以设置为varchar(32) 或其他类型?

  2. 对于racenumber,在int(11)varchar(11)之间,哪个更好?

  3. 我可以按照我的方式使用‖UNIQUE KEY吗?

  4. 我是否需要在数据库表中将 name 拆分为 firstnamelastName

DROP TABLE IF EXISTS `race_result`;
CREATE TABLE IF NOT EXISTS `race_result` (
`id` int(11) NOT NULL auto_increment,
`place` int(11) NOT NULL,
`racenumber` int(11) NOT NULL,
`gender` enum('male','female') NOT NULL,
`name` varchar(16) NOT NULL,
`result` varchar(32) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `racenumber` (`racenumber`,`id`)
) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 AUTO_INCREMENT=3;

最佳答案

关于数据类型的一些建议/意见。

Result - 这是一个时间,你可能想对这个时间做一些计算,因此你应该将它存储为一个时间类型。

RaceNumber - 这是一个引用,虽然它是一个数字,但您不会对此数字执行任何计算。因此,您应该将其存储为 varchar 而不是 int。这将避免对其用法造成混淆,并避免将其意外地用作数字。

名称 - 查看名称允许的字符串长度。小心将此值限制太多。 16 个字符对于将来的某些名称来说可能太小了。

地点 - 这是必需的存储空间吗?您能仅根据他们的成绩来计算运行者的名次吗?但是,您应该为您的表保留一个好的主键。

关于mysql - 需要一些关于创建表的提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2719747/

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