php - MySQL 无法区分大的唯一值

标签 php mysql facebook unique

我正在构建一个 facebook 应用程序,该应用程序通过开放图访问用户的 friend ,我需要将他们包含在数据库中。

现在这个数据库包含用户 idname 和我的应用所需的一些其他信息。为了防止数据库中出现多个条目,我使用 phpMyAdmin 将用户 ID 指定为 unique。现在这对许多值都适用,但同时它在很多时候都失败了。

假设根据 mysql 唯一的值是:

51547XXXX
52160XXXX
52222XXXX
52297XXXX
52448XXXX

但是如果id变成了

5154716XX
5154716XX
or
5216069673X
521606903XX

然后它将其视为相似并因此丢弃其中一个。

结果,假设我将我的 friend 列表输入到表中,那么它应该有 830 条记录,如果我不使用唯一约束,那就是我得到的值。

但是一旦 unique 被激活,我就得到 375 这意味着 455 记录被丢弃,认为它们与之前的数据相同..

我能想到的解决办法是,先用php比对数据,然后登录到数据库,但是查询那么多,时间会很长很长。谷歌无法回答这个问题,不知道为什么.. :(

最佳答案

Facebook 用户 ID are too big以适应 MySQL 的 INT 类型(32 位)。您需要使用 64 位的 BIGINT 类型,从而可以处理 facebook 使用的 ID 范围。

关于php - MySQL 无法区分大的唯一值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8628918/

相关文章:

android - 如何在 Android 上获取 Facebook 流和用户配置文件?

android - 无效的 key 散列。 key 哈希不匹配。显示我是否通过 Facebook 应用程序连接

javascript - 无法通过 ajax jQuery 将信息发送到 PHP 页面

php - 如何通过 Laravel 中的多对多关系访问第三个表?

mysql - App Engine 和 MySQL

mysql - SQL:如何使用相应的外键为表中的每个现有元素插入一行到表中?

c# - 如何使用 facebook SDK c# 在 friend 墙上发帖

php - pear 包未解决

php - 警告 : A non-numeric value encountered

php - 工厂 build 一个物体,是浪费还是不必要?