当使用第三方登录时会生成一个 CSDN ID:u012365644请教该ID是如何生成的? 绝对唯一吗?

解决方案 »

  1.   


    哦,其实我也这样想过!用户表有一字段account,该字段唯一!
    当第三方账号登录时,会注册生成一随机账号substr('U'.$uid.uniqid(rand()),0,10),但其中的这个$uid如何获取呢?
      

  2.   


    哦,其实我也这样想过!用户表有一字段account,该字段唯一!
    当第三方账号登录时,会注册生成一随机账号substr('U'.$uid.uniqid(rand()),0,10),但其中的这个$uid如何获取呢?第三方登录,第一次的时候,会在本地有保存信息的吧,这个时候要加入一个用户记录项
      

  3.   


    哦,其实我也这样想过!用户表有一字段account,该字段唯一!
    当第三方账号登录时,会注册生成一随机账号substr('U'.$uid.uniqid(rand()),0,10),但其中的这个$uid如何获取呢?第三方登录,第一次的时候,会在本地有保存信息的吧,这个时候要加入一个用户记录项我是这样的:
    1、一个user表、一个user_platform第三方账号绑定表
    2、user_platform表中有id(自增)、uid(对应user表中的用户uid)、type(第三方标志如qq)、openid(第三方返回唯一id)
    3、当第三方账号第一次登录时,首先会在user表中创建一账号,账号创建成功后,才会在user_platform表中,写入绑定记录,即记录新创建的用户uid和openid同于先后顺序,所以在创建新用户账号时,我需要先得到uid!这是我的思路,请问你是怎么做的呢,第一次弄第三方登录?
      

  4.   

    我是这样的:
    1、一个user表、一个user_platform第三方账号绑定表
    2、user_platform表中有id(自增)、uid(对应user表中的用户uid)、type(第三方标志如qq)、openid(第三方返回唯一id)
    3、当第三方账号第一次登录时,首先会在user表中创建一账号,账号创建成功后,才会在user_platform表中,写入绑定记录,即记录新创建的用户uid和openid由于先后顺序,所以在创建新用户账号时,我需要先得到uid!这是我的思路,请问你是怎么做的呢,我第一次弄第三方登录
      

  5.   

    mysql有自动增长的字段,保证唯一性
      

  6.   

    但是在插入数据时,如何先知道自增uid呢
      

  7.   

    但是在插入数据时,如何先知道自增uid呢
    插入数据成功,返回当前自增的id即可。
      

  8.   

    但是在插入数据时,如何先知道自增uid呢
    插入数据成功,返回当前自增的id即可。数据插入成功,就不需要id了! 在插入一条记录的同时,如何保证生成的account字段唯一(其中uid自增)?因为uid自增,所以想通过uid+字符串确保生成的账号唯一。如果不能这样得到自增uid,就只有再写一条更新语句!
      

  9.   

    不会的自增的,因为CSDN肯定做了用户的分库,这样,多个库中都会有类似uid相同的,他的uid应该是随机出来的,只是这个随机的比较复杂而已