0

私はこのようなクエリを持っています:

UPDATE `portal_dyslektyczny`.`questions` AS `Question` SET `Question`.`order` = `Question`.`order` - (`Question`.`order` - 3) + 1 WHERE `Question`.`order` > 3 AND `Question`.`question_group_id` = 1;

そして、すべての行が次のように昇順であるにもかかわらず

+----+-------+-------------------+
| id | order | question_group_id |
+----+-------+-------------------+
| 74 |     6 |                 1 |
| 75 |     7 |                 1 |
| 76 |     8 |                 1 |
+----+-------+-------------------+

しかし、クエリテーブルを実行すると、このように終了します

+----+-------+-------------------+
| id | order | question_group_id |
+----+-------+-------------------+
| 74 |     4 |                 1 |
| 75 |     4 |                 1 |
| 76 |     4 |                 1 |
+----+-------+-------------------+

行ごとに取得すると、値の変更は次のようになります。

ID: 74

`Question`.`order` = 6 - ( 6 - 3) + 1;

ID: 75

`Question`.`order` = 7 - ( 7 - 3) + 1;

すぐ。

でもそうではありません。最初の行からのみ値を取得しているようです。誰かがその理由を知っていますか?

4

1 に答える 1

3

数式を確認してください。すべての場合で4に解決されます。

x-(x-3)+ 1 = 4

于 2013-02-25T19:57:41.917 に答える