Mysql
 sql >> Baza danych >  >> RDS >> Mysql

mysql:podziel wartość varchar i wstaw części

Oto jak to działa, włącznie z danymi testowymi i tak dalej.

Ale uważaj, że to tylko zabawa odpowiadać. Droga do zrobienia to oczywiście procedura składowana, funkcja lub cokolwiek innego.

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. jak zapisać dane, które użytkownik wprowadził na stronie formularza po wykonaniu skryptu?

  2. RuntimeError:praca poza kontekstem aplikacji

  3. MySQL — między miesiącami (zamiast sygnatury czasowej)

  4. MySQL:znajdowanie duplikatów w wielu polach

  5. Mysql dołącza do dwóch tabel sum, gdzie i grupuje według