以下是一个不考虑时间顺序重新排序MySQL表的行的解决方法,包含代码示例:
CREATE TABLE temp_table (
id INT AUTO_INCREMENT PRIMARY KEY,
col1 VARCHAR(255),
col2 VARCHAR(255),
...
);
INSERT INTO temp_table (col1, col2, ...)
SELECT col1, col2, ...
FROM original_table
ORDER BY 指定的排序列;
DROP TABLE original_table;
ALTER TABLE temp_table RENAME TO original_table;
完整的示例代码如下:
-- 创建临时表
CREATE TABLE temp_table (
id INT AUTO_INCREMENT PRIMARY KEY,
col1 VARCHAR(255),
col2 VARCHAR(255),
...
);
-- 将原始表中的数据插入到临时表中,并按照新的排序方式进行排序
INSERT INTO temp_table (col1, col2, ...)
SELECT col1, col2, ...
FROM original_table
ORDER BY 指定的排序列;
-- 删除原始表
DROP TABLE original_table;
-- 将临时表重命名为原始表的名称
ALTER TABLE temp_table RENAME TO original_table;
请注意,这种方法会删除原始表,并在重新排序的临时表上进行操作。因此,在使用该方法之前,请确保已备份了原始表的数据。