Rumah > pangkalan data > tutorial mysql > Bolehkah MySQL Membahagikan Rentetan Dipisahkan Koma ke dalam Jadual Sementara?

Bolehkah MySQL Membahagikan Rentetan Dipisahkan Koma ke dalam Jadual Sementara?

DDD
Lepaskan: 2024-12-08 19:12:16
asal
1005 orang telah melayarinya

Can MySQL Split Comma-Separated Strings into a Temporary Table?

Bolehkah MySQL Memisahkan Rentetan Dipisahkan Koma Menjadi Jadual Suhu?

Memisahkan rentetan yang dipisahkan koma ke dalam jadual sementara ialah tugas biasa dalam manipulasi data . Walaupun MySQL tidak mempunyai fungsi terbina dalam untuk tugas ini, ia boleh dicapai menggunakan kaedah alternatif.

Satu pendekatan melibatkan penciptaan fungsi yang ditentukan pengguna yang melaksanakan pemisahan rentetan. Fungsi SPLIT_STR daripada jawapan yang disediakan boleh digunakan untuk tujuan ini. Ia secara berulang mengekstrak subrentetan berdasarkan pembatas dan kedudukan, mengembalikan rentetan kosong apabila tiada padanan ditemui.

Untuk mengulangi rentetan pisah dan mengisi jadual sementara, gelung boleh digunakan. Gelung FOR boleh digunakan untuk memanggil fungsi SPLIT_STR secara berperingkat dan hasilnya boleh dimasukkan ke dalam jadual sementara menggunakan pertanyaan INSERT.

Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa pendekatan ini memerlukan pengekodan tersuai dan pengetahuan tentang gelung MySQL sintaks. Penyelesaian alternatif ialah dengan menggunakan bahasa skrip seperti PHP atau Python untuk melakukan pemisahan rentetan dan memasukkan hasilnya ke dalam jadual sementara.

Berikut ialah kod untuk gelung MySQL yang berulang pada rentetan pemisah dan sisipan nilai ke dalam jadual sementara:

DELIMITER $$

CREATE PROCEDURE ABC(fullstr)

BEGIN
   DECLARE a INT Default 0 ;
   DECLARE str VARCHAR(255);
   simple_loop: LOOP
      SET a=a+1;
      SET str=SPLIT_STR(fullstr,"|",a);
      IF str='' THEN
         LEAVE simple_loop;
      END IF;
      #Do Inserts into temp table here with str going into the row
      insert into my_temp_table values (str);
   END LOOP simple_loop;
END $$
Salin selepas log masuk

Atas ialah kandungan terperinci Bolehkah MySQL Membahagikan Rentetan Dipisahkan Koma ke dalam Jadual Sementara?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan