【问题标题】:mysql database does not store complete number of memberIdmysql数据库不存储memberId的完整数量
【发布时间】:2015-08-24 00:29:27
【问题描述】:

嗨,我遇到了一个很奇怪的问题

用户通过FB登录我的网站,成员nr很长nr看起来像这样10153852694717081

当用户进行交易时,我注意到只有部分member_id 被存储,即表中member_id 的前8 位。

会不会是会员号太长了?发生这种情况的任何其他建议或可用于解决此问题的任何修复

member_nr 行的特征:

type=varchar

length = 255

【问题讨论】:

  • facebook uid 没有最大长度,因此请将您的表格类型更改为 UNSIGNED BIGINT
  • 如果你能提供你的代码视图会很好
  • 要在 phpmyadmin 上执行此操作,请执行以下操作:将列类型更改为 bigint 并将属性设置为无符号
  • 如果存储为varchar,则不需要将uid转换为int

标签: php mysql sql phpmyadmin


【解决方案1】:

这真的是一个数字吗(在数据类型的意义上)?当然,它里面有数字,但在我看来,这比 INT 存储为 VARCHAR 更好。如果您不对其进行算术运算,我建议使用 VARCHAR。这可以帮助您解决长度限制,只需将 VARCHAR 长度设置为足够的大小。

【讨论】:

    【解决方案2】:

    Facebook uid 没有设置长度,因此无法知道设置表的大小,因此将列类型设置为无符号 bigint,如何在 phpmyadmin 中执行此操作如下:

    【讨论】:

      【解决方案3】:

      MySQL 只能存储最大长度的值,其余的将被删除。确保您的 MySQL 字段有足够的空间来存储值以避免截断。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-01-12
        • 1970-01-01
        • 2015-06-23
        • 2018-08-13
        相关资源
        最近更新 更多