我正在准备一张注册表单。它的字段/列包括:
student_no(主键)和年龄
student_no 将保存具有 9 个字符的固定长度的值,其中包含 8 个数字和一个破折号,例如 11-423685、12-537859、12-974156
我不确定是使用 char 还是 varchar,因为我想在使用它们之前更多地了解这两种类型。具体来说:
这些类型中的一种或两种是否可以保存包含键盘上各种符号(-、@、_、$、# 等)的值,例如我如何需要学生编号包含破折号?
如果我给 char 的长度为 9,给它一个长度为 8 及以下的值是否无效
其他需要注意的重要区别(如果有)
至于年龄,如果我使用tinyint,是否需要指定长度?还是我应该将 phpMyAdmin 中的长度字段留空?
注意:这实际上只是一个学校练习,其中的指令是制作一个包含任何十四个字段的工作注册表,所以我决定暂时不使用生日以避免使用日期。