【问题标题】:Swapping of record/row in Mysql PHP [closed]在Mysql PHP中交换记录/行[关闭]
【发布时间】:2017-07-01 01:50:30
【问题描述】:

我在 mysql 中有参与者表。例如表数据是这样的

例如,有一个错误。点火必须在第 4 位。如果我把 Donald 换成 Ignit,它会变成这样,这是错误的:

所以,我要一个一个交换

Ignit -> Harry, Ignit->Gerrard, Ignit->Funky, Ignit->Emma, Ignit->Donald 所以它会变成:
1. 安迪
2. 巴里
3. 查理
4. 点燃
5. 唐纳德
6. 艾玛
7. 时髦
8. 杰拉德
9. 哈利
10. 约翰

问题是,如果有数千名参与者,我该如何交换?一个一个交换很麻烦,而且需要很长时间。

Making changes to multiple records based on change of single record with SQL 没有回答我的问题。我想要更有效的方法(如果有的话)。

【问题讨论】:

标签: php mysql database


【解决方案1】:

这可能看起来不愉快,但希望对您有所帮助。

set @currentorder=9;
set @correctorder=4;
set @participant_id=9;
update participants set participant_order=participant_order+1 where participant_order between @correctorder and @currentorder-1;
update participants set participant_order=@correctorder where participant_id=@participant_id;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-04
    • 1970-01-01
    • 2012-11-10
    • 1970-01-01
    • 2013-10-02
    • 1970-01-01
    • 1970-01-01
    • 2016-03-01
    相关资源
    最近更新 更多