gpt4 book ai didi

php - 如何在数据库(MySQL)中存储多语言数据?

转载 作者:行者123 更新时间:2023-11-29 03:11:18 25 4
gpt4 key购买 nike

我有一个项目表,我们称它为 ITEMS。现在我需要用多种语言存储每个项目的名称。我正在寻找最有效的方法来做到这一点。到目前为止,我在下面有这些可能的解决方案,但出于某些特定原因,我真的很想选择一个。

为了提问,让事情简单一些,ITEMS 表的结构:

id INT PRIMARY KEY
name VARCHAR(20)

现在第一个最简单的解决方案可能是为 ITEMS 表中的每种语言添加列,例如name_english、name_german、name_spanish 等...但这在添加新语言时可能涉及 PHP 中的大量工作。

第二种解决方案 - 我将创建表 LANGS:

id INT PRIMARY KEY,
language VARCHAR(10)

和表 ITEMS_LANGS:

id_items INT
id_langs INT
translated_name VARCHAR(20)

所以每次我都必须加入表 ITEMS 和 ITEMS_LANGS,但添加新语言会容易得多。

我应该选择哪种解决方案,或者您有更好的解决方案吗?提前致谢,希望我已经足够详细地解释了我的问题。

最佳答案

第二种选择更好,如果:

  • 您需要添加新语言
  • 您需要在数据库的其他字段中支持多语言(在这种情况下 id_items 没有意义,您需要一个全局实体 ID)。

我将通过 TEXTS 更改 ITEMS_LANGS(更通用):

id_text INT
id_entity INT
id_langs INT
translated_name VARCHAR(20)

关于php - 如何在数据库(MySQL)中存储多语言数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7925754/

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