如何排序和更新唯一键从另一个键在php


how to sort and update unique key from another key in php

在向表中添加新条目后,我有一个问题来排序我的唯一键…例如,我有std_id为学生id作为唯一键,也std_fname和std_lname为学生的名字和学生的姓氏,我想当我添加新的学生到MySQL表,以前的std_id更新到新的一个按姓氏排序…我试了很多方法,但我找不到任何答案……我是PHP新手

这段代码只适用于第二项的第一项所有std_id更改为std_pk实际上第三部分在第一项后不执行

std_pk是我的主键,它是自动递增的

感谢

这是我测试…的方法之一

$query=mysql_query("SELECT std_id FROM std_list");
//first i set all unique std_id to my Auto Increment Primary Key std_pk 
while ( $a_row = mysql_fetch_row( $query ) ) 
{
    $a_row=mysql_query("UPDATE `std_list` SET std_id = std_pk WHERE std_id != std_pk ");
};
//second i use ORDER BY to sort std_id by std_lname
$query=mysql_query("SELECT std_id  FROM std_list ORDER BY std_lname");
$x = 1;
//and third i use a value to set previous std_id to new one, $x is new std_id
while ( $a_row = mysql_fetch_row( $query ) ) 
    {
        $a_row=mysql_query("UPDATE std_list SET std_id = $x WHERE std_id = std_pk ");
        $x = $x + 1 ;
    };

我假设您想查询数据库并获得学生的排序列表。

要做到这一点,您应该更改sql查询并添加order-by子句,而不是重新排序键。

参见:MySQL手册上的排序行http://dev.mysql.com/doc/refman/5.0/en/sorting-rows.html