我正在设计一个将用于国际化内容的数据库。其中一个功能是标记系统,类似于 Stack Overflow 的功能。这是我得到的:
TABLE tags
tag_id | int(11) unsigned | NOT NULL | PRI | auto_increment
TABLE tag_translations
| tag_translation_id | int(11) unsigned | NOT NULL | PRI | auto_increment
| fk_language_id | int(11) unsigned | NOT NULL | MUL |
| fk_tag_id | int(11) unsigned | NOT NULL | MUL |
| tag_name | varchar(255) | NOT NULL | UNI |
TABLE tag_relationships
| tag_relationship_id | int(11) unsigned | NOT NULL | PRI | auto_increment
| fk_tag_id | int(11) unsigned | NOT NULL | MUL |
| fk_solution_id | int(11) unsigned | NOT NULL | MUL |
首先,让标签表只包含一个 ID 似乎合理吗?其次,我如何使用唯一的字段作为自动递增 ID 来填充该列?
最佳答案
正如我在对 OP 的评论中所说,几年前我完全遇到了同样的问题。虽然我使用的是 SQL Server 而不是 MySql,但问题是一样的。
不幸的是,我找到的唯一解决方案是向 Tags 表添加额外的列。我决定添加一个 DateCreated 列,最终证明它很有用。
关于mysql - 一列 SQL 表,该列是一个 ID - 这很疯狂吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6481505/