char就char呗,自己弄个主键生成策略,保证不会冲突就行了

解决方案 »

  1.   

    用uuid自动生成主键,注意char类型的长度一定要和uuid的长度一致,uuid的生成方法很多,楼主用的什么架构
      

  2.   

    mysql!能不能不采取id自增,通过手动设置主键进去!
      

  3.   

    你以前用int id;
    首先不精,应该用Integer id;利于后期判断和维护;
    用char类型,mysql数据库是不可以自增,只有手动设置方法自增;
    正常人用char或者varchar做主键都是用下面这句
    String id = UUID.randomUUID();生成的String是永远不会重复的,如果重复了,马上记录下来,你以后可以引以为傲了
      

  4.   

    我用的是hibernate的自动建表我想问下可不可以自己设主键进去,不用自增
      

  5.   

    hibernate就更简单了,因为hibernate有一个功能叫主键生成策略,其中就有uuid,详细的怎么去实现我就不在这说了,自己去google吧
      

  6.   

    一个比较笨的方法是每次insert前select max(id)出来,转换为int+1, 再assign给你的插入数据对象
      

  7.   

    char的主键很好玩的,比int还好玩点。
    去弄额UUID, 里面解决烦恼~ 哈哈