Mysql
 sql >> Base de données >  >> RDS >> Mysql

comment insérer des données de chaîne dans la table en tant que données de colonne différentes dans une rangée

En supposant que vous n'ayez que quatre colonnes séparées par une virgule dans la chaîne :

 INSERT INTO table_name VALUES(
    REPLACE(SUBSTRING(SUBSTRING_INDEX(data_string, ',',1), LENGTH(SUBSTRING_INDEX(data_string, ',',0)) + 1), ',', ''),
    REPLACE(SUBSTRING(SUBSTRING_INDEX(data_string, ',',2), LENGTH(SUBSTRING_INDEX(data_string, ',',1)) + 1), ',', ''),
    REPLACE(SUBSTRING(SUBSTRING_INDEX(data_string, ',',3), LENGTH(SUBSTRING_INDEX(data_string, ',',2)) + 1), ',', ''),
    REPLACE(SUBSTRING(SUBSTRING_INDEX(data_string, ',',4), LENGTH(SUBSTRING_INDEX(data_string, ',',3)) + 1), ',', '')