如何才能保证ID的唯一性,不用自动ID,客户端根据产品的特性编ID号(DVD120441,MD7013),我平时用mysql_num_rows检测有没有数据存在,但是,如果在多用户端的时候安全吗?还有一个WHERE not exists安全吗?还有没有安全的方法?

解决方案 »

  1.   


    首先编ID号需要一个规律。
    这个规律的确定跟系统要求有直接关系。
    也就是需要先根据系统需求确定数据的特性,然后才能谈到如何生成ID
      

  2.   


    表的设置方面,如果只把ID项设为PK,
    就可以保证数据的单一性。
    所以,只要考虑如何生成单一ID就可以。
      

  3.   

    不好呢,多用戶端,檢測安全嗎?我要自己設ID,是爲了,客戶可以搜索到自己的產品,每個產品都有一個客戶可以記憶的編號(new_dvd001,old_dvd001),用自動ID雖然好,但是不方便記憶!
      

  4.   


    检查ID是否唯一是必需的。一旦发生重复,还得提示用户错误。1.在每次输入ID前做到检查唯一性
    2.数据表ID项目设定PK(推荐)或者UNIQUE
    3.正确try/cache添加数据错误能做到以上三点,多用户操作基本就没问题了。