Bagaimanakah Saya Boleh Menyusun Semula Berbilang Rekod Dengan Cekap Berdasarkan Kemas Kini Tunggal dalam SQL?

Mary-Kate Olsen
Lepaskan: 2024-11-06 12:54:03
asal
866 orang telah melayarinya

How Can I Efficiently Rearrange Multiple Records Based on a Single Update in SQL?

Membuat Perubahan kepada Berbilang Rekod Berdasarkan Kemas Kini Rekod Tunggal dengan SQL

Dalam jadual pangkalan data yang mengandungi senarai item makanan dengan medan "Kedudukan" yang mewakili pesanan mereka dalam senarai, keperluan sering timbul untuk menyusun semula pesanan mereka berdasarkan perubahan pada satu rekod. Pertanyaan yang disediakan oleh poster asal melibatkan proses berbilang langkah yang rumit yang melibatkan pengekstrakan data, manipulasi dalam JavaScript dan berbilang kemas kini pangkalan data.

Walau bagaimanapun, pendekatan yang lebih cekap yang menyelesaikan isu dengan satu pertanyaan ialah:

<code class="sql">UPDATE my_table SET position = position * 10;</code>
Salin selepas log masuk

Pertanyaan ini mendarabkan kedudukan semua rekod dalam jadual dengan 10, mewujudkan jurang yang cukup antara kedudukan. Selepas itu, kemas kini ringkas kepada rekod sasaran untuk mengalihkan "Pear" ke kedudukan yang diingini boleh dicapai dengan mudah dengan pertanyaan berikut:

<code class="sql">UPDATE my_table SET position = 15 WHERE listId=1 AND name = 'Pears';</code>
Salin selepas log masuk

Untuk menangani sebarang kebimbangan mengenai jurang yang hilang dari semasa ke semasa akibat penyusunan semula yang berikutnya, pertanyaan yang diberikan sebelum ini boleh dilaksanakan secara berkala untuk mengemas kini kedudukan dan mengekalkan jarak yang diperlukan. Menggunakan pendekatan pertanyaan tunggal yang cekap ini, menyusun semula susunan item makanan menjadi tugas yang mudah.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyusun Semula Berbilang Rekod Dengan Cekap Berdasarkan Kemas Kini Tunggal dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!