MYSQL数据库的编号,我要求前面带字母,类似"T0001","TSB001"之类,请问这种编号可以设置自动增加吗?还是每次添加编号的时候,去判断一次最大的编号,再给编号加1,再存入数据库?

解决方案 »

  1.   

    无法直接用自增字段,在插入字段时,在BEFORE INSERT TRIGGER中,SET NEW.ID=CONCAT('A',A.ID)
      

  2.   

    不建议将业务信息作为PK,最好选用一个和业务无关的ID作为PK,其余至多都只作Unique Key。
    当然,不一定是auto_increment
      

  3.   

    特意加入T, TSB之类的字符串前缀,反面降低了索引效率,倒不如另启一个常量表,专门存储这些前缀,然后拼上自增的编号,成为你要显示的业务编号。