Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

mysql:tách giá trị varchar và chèn các phần

Đây là cách nó hoạt động, dữ liệu thử nghiệm bao gồm, v.v.

Nhưng coi rằng đây chỉ là một trò vui câu trả lời. Cách thực hiện rõ ràng là một thủ tục được lưu trữ hoặc một hàm hoặc bất cứ điều gì.

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. Cyrillic, AJAX và cơ sở dữ liệu

  2. MySql SP lồng nhau có thể là một nút cổ chai không?

  3. Soft_delete của Laravel có cần chỉ mục trên MySQL không?

  4. Lệnh gọi cơ sở dữ liệu không đồng bộ Node JS

  5. Codeigniter tham gia truy vấn nhiều điều kiện không hoạt động