Mysql
 sql >> база данни >  >> RDS >> Mysql

MySql, разделете низ и го вмъкнете в таблицата

Можете да създадете една заявка INSERT (защото операторът позволява вмъкване на множество записи) и да я стартирате с подготвени отчети , напр. -

SET @MenuIDs = '1,2,3';
SET @RoledID = 100;

SET @values = REPLACE(@MenuIDs, ',', CONCAT(', ', @RoledID, '),('));
SET @values = CONCAT('(', @values, ', ', @RoledID, ')'); -- This produces a string like this -> (1, 100),(2, 100),(3, 100)

SET @insert = CONCAT('INSERT INTO RolesMenus VALUES', @values); -- Build INSERT statement like this -> INSERT INTO RolesMenus VALUES(1, 100),(2, 100),(3, 100)

-- Execute INSERT statement
PREPARE stmt FROM @insert;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

Както виждате, може да се направи и без съхранена процедура.



  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?

  2. Спрете прозорците на услугите на MySQL

  3. Как да добавя идентификатор за автоматично увеличение според група в mysql

  4. Намиране на прекъсване на ред и връщане на карета (\r\n) в MySQL

  5. B-дърво срещу хеш таблица