Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

mySQL>> Menormalkan bidang yang dipisahkan koma

Harap salin kode Anda ke dalam postingan yang sebenarnya, dan berikan kode yang telah Anda coba gunakan untuk menyelesaikan masalah.

Fungsi substring_index mengembalikan sebagian string dengan beberapa pembatas (di sini koma), dan ketika indeks negatif dilewatkan, ia mulai mencari kecocokan dari sisi yang berlawanan, jadi -1 mengambil satu item dari daftar multi-item (untuk indeks>=2).

Per diskusi kami, saya telah mengubah cara saya melakukan ini dan menunjukkan contoh penggunaan peningkatan otomatis. (Ini dijalankan di bagian 'membangun skema' biola.)

create table TAGS
(`T_ID` int auto_increment primary key, `T_Name` varchar(18))
;

insert ignore into TAGS (T_Name)
  SELECT 
    SUBSTRING_INDEX(RES_Tags, ',', 1) as X
    FROM RESOURCES
;

insert ignore into TAGS (T_Name)
  SELECT 
    SUBSTRING_INDEX(
      SUBSTRING_INDEX(RES_Tags, ',', 2)
      ,',',-1)
  FROM RESOURCES
;

insert ignore into TAGS (T_Name)
  SELECT 
    SUBSTRING_INDEX(
      SUBSTRING_INDEX(RES_Tags, ',', 3)
      ,',',-1)  as X
  FROM RESOURCES
;
insert ignore into TAGS (T_Name)
  SELECT 
    SUBSTRING_INDEX(
      SUBSTRING_INDEX(RES_Tags, ',', 4)
      ,',',-1)  as X
  FROM RESOURCES
  ;

insert ignore into TAGS (T_Name)
  SELECT 
    SUBSTRING_INDEX(
      SUBSTRING_INDEX(RES_Tags, ',', 5)
      ,',',-1)  as X
  FROM RESOURCES
;

insert ignore into TAGS (T_Name)
  SELECT 
    SUBSTRING_INDEX(
      SUBSTRING_INDEX(RES_Tags, ',', 6)
      ,',',-1)  as X
  FROM RESOURCES
;

create table New_TAGS like TAGS;
insert into New_TAGS (T_Name)
  select distinct trim(T_Name)
  from TAGS;

drop table TAGS;
rename table NEW_TAGS to TAGS;

dokumentasi fungsi substring Kemungkinan duplikasi pertanyaan ini



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL PILIH bidang sebagai NULL jika tidak ada di tabel

  2. tidak dapat menyimpan banyak tabel di cakephp

  3. Permintaan pencarian pengguna SQL

  4. pengecualian nilai nol saat masuk ke database

  5. subpilih kueri sql tidak berfungsi di mysql 4