首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从php中的另一个键中排序和更新唯一键

问如何从php中的另一个键中排序和更新唯一键
EN

Stack Overflow用户
提问于 2014-07-24 21:52:40
回答 1查看 73关注 0票数 0

在将新条目添加到我的表中后,我有一个问题来排序我的唯一键...例如,我有学生ID的std_id作为唯一的关键字,还有std_fname和std_lname学生的名字和学生的姓氏,我希望当我添加新的学生到MySQL表时,以前的std_id更新为新的按姓氏排序...我测试了许多方法,但我找不到任何答案……我是PHP新手

此代码仅适用于第二个条目中的第一个条目所有std_id更改为std_pk实际上第三部分在第一个条目后不执行

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

谢谢

这是我测试的许多方法之一...

代码语言:javascript
复制
$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 ;
    };
EN

回答 1

Stack Overflow用户

发布于 2014-07-24 22:02:01

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

为此,您应该更改sql查询并添加order-by子句,而不是重新排序键。

请参阅:在MySQL上对行进行排序人工http://dev.mysql.com/doc/refman/5.0/en/sorting-rows.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24935675

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档