【发布时间】:2011-12-25 08:56:28
【问题描述】:
我正在构建一个 facebook 应用程序,该应用程序通过开放图访问用户的朋友,我需要将它们包含在数据库中。
现在这里的数据库包含用户id、name 和我的应用所需的其他一些信息。为了防止数据库中有多个条目,我使用 phpMyAdmin 将用户 ID 分配为unique。现在这适用于许多值,但同时它却失败了。
假设根据 mysql 唯一的值是:
51547XXXX
52160XXXX
52222XXXX
52297XXXX
52448XXXX
但是如果id变成了
5154716XX
5154716XX
or
5216069673X
521606903XX
然后它将其视为相似并因此丢弃其中一个。
结果,假设我将我的朋友列表输入到表中,那么它应该有 830 条记录,如果我不使用唯一约束,那就是我得到的值。
但是一旦unique 被激活,我只会得到 375 这意味着 455 条记录被丢弃,考虑到它们与以前的数据相同..
我能想到的解决方案是,先用php比较数据,然后将它们记录到数据库中,但是查询那么多,需要很长时间。谷歌无法回答这个问题,不知道为什么.. :(
【问题讨论】:
-
假设 X 代表什么?
-
该表是如何定义的(该列的数据类型)?
-
@Dagon:X代表任意整数
-
@Mat: 数据类型为 INT,大小为 64