让我们使用数字和字母。我的号码是我的主要钥匙。它们一直是独家的,所以我让数据库围绕这些数字。字母代表不同数据类型,这些数据类型位于作为主键的数字下方。有时会有a_1,a_2,a_n,b_1,b_2,b_n等
1等于a,b和c 2等于b,c和d ......
所以,一切都围绕着数字数据类型。
现在,我在这里遇到了一个kog:
a_1和a_2等于1.
看起来没什么大不了的,但是有一些交际问题。当你从左到右阅读时它们是平等的,但是当你从右到左阅读时它们是平等的。
即使我用不同的术语解释它,似乎没关系,但是我的主键存在排他性问题。我在一本书中看到一个例子说这种情况经常发生。例如,如果你有一个人的名字:“玛丽史密斯”,然后她结婚并成为“玛丽查尔斯”,那么你必须添加一个新名字。如果您没有计划,那么您需要添加日期字段。然而,这本书没有涵盖的内容是我如何强制数据始终显示两个名称。所以,我想确保有人看到玛丽史密斯的名字,他们得到玛丽史密斯;玛丽查尔斯。
答案 0 :(得分:0)
我不确定这会有所帮助,但你可以产生;在使用GROUP_CONCAT和GROUP_BY有多个条目的情况下,分隔的名称列表。例如:
SELECT GROUP_CONCAT(Name SEPARATOR ';'), Col2, Col3 FROM People GROUP BY Ssn;