mysql - 一列 SQL 表,该列是一个 ID - 这很疯狂吗?

标签 mysql database-design internationalization

我正在设计一个将用于国际化内容的数据库。其中一个功能是标记系统,类似于 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/

相关文章:

reactjs - React 和 i18n - 通过在 URL 中添加语言环境进行翻译

delphi - GExperts grep 带有字符串文字的源行表达式(用于翻译)

mysql - 如何用empty down方法修复drop表迁移回滚

mysql - sql 在链接上注入(inject)我的插件

sql-server - 数据库设计: one huge table or separate tables?

mysql - 在 MySQL 中存储 SHA1 哈希值

php - Symfony 表单 - 国家/地区选择区域设置不是 symfony 的默认设置

java - 如何使用sql事务?

mysql - 仅在 INNER JOIN 中显示最高金额

MYSQL/PHP 好友表设计/查询选择好友