数据库为mysql,有字段:id sy name time其中id与sy不连贯,请问如何操作可让已有数据连贯起来??
例:
id sy name time
1 XXXX-2007-1 测试 2007-01-02 13:55:01
2 XXXX-2007-2 测试 2007-01-02 13:55:01
5 XXXX-2007-5 测试 2007-01-02 13:55:01
8 XXXX-2008-8 测试 2008-01-02 13:55:01
10 XXXX-2008-10 测试 2008-01-02 13:55:01
想要的数据为:
id sy name time
1 XXXX-2007-1 测试 2007-01-02 13:55:01
2 XXXX-2007-2 测试 2007-01-02 13:55:01
3 XXXX-2007-3 测试 2007-01-02 13:55:01
4 XXXX-2008-4 测试 2008-01-02 13:55:01
5 XXXX-2008-5 测试 2008-01-02 13:55:01
例:
id sy name time
1 XXXX-2007-1 测试 2007-01-02 13:55:01
2 XXXX-2007-2 测试 2007-01-02 13:55:01
5 XXXX-2007-5 测试 2007-01-02 13:55:01
8 XXXX-2008-8 测试 2008-01-02 13:55:01
10 XXXX-2008-10 测试 2008-01-02 13:55:01
想要的数据为:
id sy name time
1 XXXX-2007-1 测试 2007-01-02 13:55:01
2 XXXX-2007-2 测试 2007-01-02 13:55:01
3 XXXX-2007-3 测试 2007-01-02 13:55:01
4 XXXX-2008-4 测试 2008-01-02 13:55:01
5 XXXX-2008-5 测试 2008-01-02 13:55:01
解决方案 »
- 给位大神,小弟新人,帮忙看看
- 扫描仪二次开发获取图片,一些问题,请教各位一下
- 点击eclipse将其打开的时候, 弹出对话框fail to create java virtual machine
- JSP网站如何配一个开元的PHP论坛
- 如何在Tomcat中做子站点?先谢谢了
- 请教jsp环境配置问题
- 如何在下载文件的时候能弹出下载文件对话框,而不是直接在网页中显示
- jsp页面中无法调用javabean
- 几个 代表一个汉字?
- Jetty欢迎不访问默认的index.jsp/index.html
- java读取xml文件 怎么得到<channel>作为根节点 请大家给个实例
- 意外掉线时,如何让session失效
我的想法是,做一个方法,每次从数据库中取得最大的主键,然后+1作为返回值。
然后每次insert的时候通过上面的方法取得主键的值。
最后是做一个触发器,每次删除该表的时候,比如,删除id=5的数据,那么
update table set id=id-1 where id>5。
这样能保证id是连续的。不知道MySql是否支持触发器。
然后,排序数据后,更新sy和syid
不是显示效果要连续 是整个数据要连续起来
你可以这么做拉。
1.首先将你那张表该个名字
2.重新建一张表 叫做原表名
3.并将主键字段设成自动增长的表示列
4.insert into 原表名(sy,name,time) select (sy,name,time) from 该名字的表