Mysql:我有一个带有ID列(主键),datetime列等的表。让我们说1000行。 我不想更改ID,但添加另一列并使用1到1000的计数填充它,使得具有最早日期时间的行得到" 1",第二个" 2" ......以及最新的" 1000"。
答案 0 :(得分:2)
无论如何,这是你如何做到的。首先添加新列。
ALTER TABLE your_table ADD COLUMN new_column int;
在UPDATE
语法的manual中,你得到了这个:
单表语法:
UPDATE [LOW_PRIORITY] [IGNORE] table_reference SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] ... [WHERE where_condition] [ORDER BY ...] [LIMIT row_count]
所以你只需要初始化一个变量并在增加它时更新你的表。
SET @my_increment := 0;
UPDATE your_table
SET new_column = @my_increment := @my_increment + 1
ORDER BY your_datetime_column;