DROP TABLE IF EXISTS `cloth`;
CREATE TABLE `cloth` (
  `clothNo` int(4) NOT NULL AUTO_INCREMENT,
  `clothID` varchar(15) NOT NULL,
  `clothColor` varchar(10) DEFAULT NULL,
  `clothSize` tinyint(5) DEFAULT NULL,
  `clothPhoto` blob,
  PRIMARY KEY (`clothNo`,`clothID`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;如何实现让clothNo在clothID的控制下自增呢?
举例来说就是:
clothID = j1时,clothNo从1自增;
clothID = j2时,clothNo从1自增;

解决方案 »

  1.   

    你的clothNo不是已经指定auto_increment了吗,要想让他受控制的自增应该见表的时候把这句删了吧
    你可以试试right函数,取出clothID的右边的数字,然后赋值给clothNo
    select right(clothID,1) from cloth;
      

  2.   

    我们做做课程设计,在做一个试衣系统,存储服装的。为了减少冗余,我们把上衣、裤子、裙子的几个共性(如color、size)提出来,放到cloth中,clothID,表示一款衣服,clothNo来区别某一件衣服。
      

  3.   

    CREATE TABLE `cloth` (
      `clothNo` int(4) NOT NULL AUTO_INCREMENT,
      `clothID` varchar(15) NOT NULL,
      `clothColor` varchar(10) DEFAULT NULL,
      `clothSize` tinyint(5) DEFAULT NULL,
      `clothPhoto` blob,
      PRIMARY KEY (`clothNo`,`clothID`)
    ) ENGINE=InnoDB DEFAULT CHARSET=gb2312;

    你当前的这个设计,就是clothNo会根据不同的clothID分别自增。
      

  4.   

    本帖最后由 ACMAIN_CHM 于 2012-11-30 22:23:49 编辑