我们说这个简单的表叫做#34;字符":
realm_id | character_name | xp
---------|----------------|----------
1 | "mike" | 10
1 | "lara" | 25
2 | "mike" | 40
我想要做的是根据realm_id
拥有唯一名称。因此,例如,虽然允许两个"mikes"
不同 realm_id
,但不允许有两个{{ 1}}在同一个"mikes"
内。这可能吗?
答案 0 :(得分:0)
如果您正在寻找对此数据执行SELECT语句,那么您将寻找类似这样的事情(假设最高XP获胜);
SELECT
realm_id
character_name
MAX(XP) AS XP
FROM characters
但是,如果您希望表首先不允许重复,那么您最好考虑将realm_id和character_name作为复合主键。这将首先阻止您的重复发生,尽管您必须考虑当有人试图插入该副本时会发生什么,它会引发错误。
答案 1 :(得分:0)
在表上创建一个由realm_id和character_name组成的主键。主键将跨域和字符强制表中的唯一性。因此,您可以拥有realm_id = 1,character_name =' Mike'和realm_id = 2,character_name =' Mike',但是如果你试图插入realm_id = 1和character_name =' Mike'再次,插入失败。你的独特性是有保障的。