在将新条目添加到我的表中后,我有一个问题来排序我的唯一键...例如,我有学生ID的std_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 ;
};发布于 2014-07-24 22:02:01
我假设您想要查询数据库并获得一个排序的学生列表。
为此,您应该更改sql查询并添加order-by子句,而不是重新排序键。
请参阅:在MySQL上对行进行排序人工http://dev.mysql.com/doc/refman/5.0/en/sorting-rows.html
https://stackoverflow.com/questions/24935675
复制相似问题