Rumah >pangkalan data >tutorial mysql >Bagaimana Menukar Nilai Lajur dalam MySQL Tanpa Mengubah Struktur Jadual?

Bagaimana Menukar Nilai Lajur dalam MySQL Tanpa Mengubah Struktur Jadual?

Susan Sarandon
Susan Sarandonasal
2024-12-07 03:12:10739semak imbas

How to Swap Column Values in MySQL Without Altering the Table Structure?

Tukar Nilai Lajur dalam MySQL tanpa Mengubah Struktur Jadual

Soalan:

Bolehkah saya menukar nilai dalam dua lajur jadual MySQL tanpa mengubah suai struktur jadual? Menamakan semula lajur bukan pilihan kerana sekatan kebenaran pengguna.

Jawapan:

Ya, adalah mungkin untuk menukar nilai lajur dalam MySQL tanpa mengubah struktur jadual menggunakan pertanyaan kemas kini. Berikut ialah tiga kaedah:

Kaedah 1:

UPDATE table SET x=y, y=@temp WHERE (@temp:=x) IS NOT NULL;

Kaedah ini menggunakan pembolehubah sementara untuk menahan nilai satu lajur semasa kemas kini. Ia memerlukan kedua-dua lajur mempunyai nilai bukan NULL.

Kaedah 2:

UPDATE table SET x=(@temp:=x), x = y, y = @temp;

Kaedah ini dianggap lebih elegan dan mengendalikan kedua-dua nilai NULL dan bukan NULL .

Kaedah 3:

UPDATE table s1, table s2 SET s1.x=s1.y, s1.y=s2.x WHERE s1.id=s2.id;

Kaedah ini menggunakan sambung sendiri untuk menukar nilai lajur, menjadikannya sesuai untuk jadual dengan kunci utama. Ia juga mengendalikan nilai NULL.

Nota:

Setiap kaedah mempunyai kelebihan dan batasan tersendiri. Pilih kaedah yang paling sesuai dengan keperluan khusus anda dan ciri data.

Atas ialah kandungan terperinci Bagaimana Menukar Nilai Lajur dalam MySQL Tanpa Mengubah Struktur Jadual?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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