mysql 如何实现在一张表里某个字段根据另一个字段自增长
2013-10-29 11:23
429 查看
在mysql语法里,只允许一个字段设置成AUTO_INCREMENT,那在mysql能否实现一个字段值根据另一个字段值进行“自增长”,只所以加个引号,是因为第二个字段是某中意义上的自增长,看一下需求例子:
如果我想新增加一条column_b的值为2的记录时,column_a的值自动为3;或当我新增加一条column_b的值为1的记录时,column_a的值自动为5。如果实现上面这个的需求,这个表结构如何来设计?
之前对组合索引的顺序没怎么注意,原理就是建立一个组合索引,如果组合所以第二个字段值是auto_increment的话会根据第一个来计算。
column_a column_b column_c .... 1 1 2 1 3 1 4 1 1 2 2 2 1 3
如果我想新增加一条column_b的值为2的记录时,column_a的值自动为3;或当我新增加一条column_b的值为1的记录时,column_a的值自动为5。如果实现上面这个的需求,这个表结构如何来设计?
CREATE TABLE mytable ( column_a INT NOT NULL AUTO_INCREMENT, column_b INT NOT NULL, column_c CHAR(30) NOT NULL, column_d MEDIUMINT NOT NULL, PRIMARY KEY (column_b,column_a) ) ENGINE=MyISAM; INSERT INTO mytable (column_b, column_c, column_d) VALUES(1,'aa',11),(1,'bb',11),(2,'cc',22),(1,'dd',11),(2,'ee',22),(3,'ff',33),(1,'gg',11),(2,'hh',22);
之前对组合索引的顺序没怎么注意,原理就是建立一个组合索引,如果组合所以第二个字段值是auto_increment的话会根据第一个来计算。
相关文章推荐
- mysql中根据一个字段相同记录写递增序号,如序号结果,如何实现?
- mysql group by分组,根据一个字段分组 ,又想得到另一个字段的最大或者最小。如何解决。
- 根据一个表里的字段查询另一个表里的另一个字段,再将查询的字段添加到第一个表里
- mysql 如何用一条SQL将一张表里的数据插入到另一张表
- mysql如何更新一个表中的某个字段值等于另一个表的某个字段值
- mysql更新一个表里的字段等于另一个表某字段的值
- mysql更新一个表里的字段等于另一个表某字段的值实例
- 通过java程序实现mysql 批量一个表的子段更新另一个表的字段
- mysql 如何将一个数据库中某个表中某个字段导入另外一个数据库里指定表里
- mysql如何更新一个表中的某个字段值等于另一个表的某个字段值
- mysql如何更新一个表中的某个字段值等于另一个表的某个字段值
- mysql实现根据多个字段查找和置顶功能
- 如何对一张表里的一个字段进行按周或按季度求和统计! 未验证
- Mysql 根据一个表数据更新另一个表的某些字段(sql语句)
- mysql 如何用一条SQL将一张表里的数据插入到另一张表 3个例子
- mysql更新一个表里的字段等于另一个表某字段的值
- mysql根据某一张表的字段更新另一张表的字段
- mysql把一个表的字段update成另一个表的字段根据id
- mysql把一个表的字段update成另一个表的字段根据id
- mysql如何更新一个表中的某个字段值等于另一个表的某个字段值