sql >> Databáze >  >> RDS >> Mysql

mysql:rozdělení hodnoty varchar a vložení částí

Zde je návod, jak to funguje, včetně testovacích dat a tak dále.

Ale mějte na paměti, že jde pouze o zábavu Odpovědět. Cestou je jednoznačně uložená procedura nebo funkce nebo cokoli jiného.

drop table testvar;
create table testvar (id int, codes varchar(20));
insert into testvar values (1, '|1|2|3|4'), (2, '|5|6|7|8');



drop table if exists inserttest;
create table inserttest (id int, code int);

select @sql:=left(concat('insert into inserttest values ', group_concat( '(', id, ',', replace(right(codes, length(codes) - 1), '|', concat( '),(', id, ',' )), '),' separator '')), length(concat('insert into inserttest values ', group_concat( '(', id, ',', replace(right(codes, length(codes) - 1), '|', concat( '),(', id, ',' )), '),' separator ''))) -1)
from testvar;

prepare stmt1 from @sql;
execute stmt1;

select * from inserttest;


  1. Python Matplotlib a MySQL a Ginput

  2. Jak zjistit, zda upsert byl aktualizací s PostgreSQL 9.5+ UPSERT?

  3. Ruby 'pg' drahokam odkazující na špatnou kopii libpq.5.dylib (na OSX)

  4. Prohlášení FORALL s vázanou doložkou INDICES-OF v databázi Oracle