gpt4 book ai didi

mysql - 隔离表上的主键

转载 作者:行者123 更新时间:2023-12-01 00:38:34 26 4
gpt4 key购买 nike

我真的找不到问题的解决方案,问题是:我真的必须在这里创建主键吗?


详情

我的网站在名为 translations 的数据库中有一个表,我将每个句子/单词放入不同的翻译中。我有这样的结构:

id  | lang | text
-------------------
01 | 01 | hello
01 | 02 | ciao
01 | 03 | salut
02 | 01 | surname
02 | 02 | cognome
02 | 03 | nom

字段 id 连接到一个单词,字段 lang 是一个表示翻译的数字(01 = 英语,02 = 意大利语,03 = 法语)和text 是那个词的翻译。

在这种情况下,如果我需要(例如)hello 这个词,我知道它有 id = 1,然后我可以选择语言。

创建这种表的方法好吗?我不确定,但我觉得这很容易,因为我可以调用:

SELECT text FROM tablename WHERE id = ? AND lang = ?

你可以看到 ?因为我将参数与 PDO 绑定(bind)。 “lang”是从 cookie (01,02,03) 中检索到的常量。

重要说明:这里我没有主键,我只将idlang设置为唯一

最佳答案

如果你想保持你的表结构,并且你对每个词只有一个每种语言的翻译,那么你可以使用id + lang 作为主键

CREATE TABLE translations
(
id int,
lang int,
text varchar(150) NOT NULL,
PRIMARY KEY (id, lang)
);

关于mysql - 隔离表上的主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40573310/

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