gpt4 book ai didi

php - 排序数据库Mysql中的行

转载 作者:行者123 更新时间:2023-11-29 04:27:27 24 4
gpt4 key购买 nike

我的数据库有很多条目,在一些 friend 的帮助下,我设法删除重复行 deleting-duplicate-rows-in-a-mysql-database但现在我不得不面对未排序行的新问题。

这里是我的数据库的例子

CREATE TABLE `my_table` (
`id` int(10) NOT NULL default '0',
`name` varchar(255) NOT NULL default '',
`address` varchar(255) NOT NULL default '',
`phone` varchar(255) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

INSERT INTO `my_table` VALUES (784, 'Albert', 'EGYPT', '202020');
INSERT INTO `my_table` VALUES (21, 'John', 'USA', '984731');
INSERT INTO `my_table` VALUES (56, 'Albert', 'EGYPT', '343354');

正如您在 id [784,21,56] 中看到的那样,我有什么办法可以使它成为

INSERT INTO `my_table` VALUES (1, 'Albert', 'EGYPT', '202020');
INSERT INTO `my_table` VALUES (2, 'John', 'USA', '984731');
INSERT INTO `my_table` VALUES (3, 'Albert', 'EGYPT', '343354');

id [1,2,3,4,....etc] resort it ,我知道更改 ID 可能会导致脚本本身出现问题,因为它依赖于 id to garb条目信息,但由于它是新的,所以我需要将其排序为 1、2、3、4、......等等。

最佳答案

放一个auto increment怎么样?在你的 table 上?

CREATE TABLE `my_table` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL default '',
`address` varchar(255) NOT NULL default '',
`phone` varchar(255) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

然后你只需要插入值而不指定ids。

[编辑]

您也可以像这样不更改表结构中的任何内容

对行进行排序
select @rownum:=@rownum+1 as rank, t.*
from my_table t, (SELECT @rownum:=0) r
order by rank;

关于php - 排序数据库Mysql中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8680089/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com