sql >> Database teknologi >  >> RDS >> Mysql

MySql, opdel en streng og indsæt i tabellen

Du kan bygge én INSERT-forespørgsel (fordi sætningen tillader at indsætte flere poster) og køre den med forberedte udsagn , for eksempel. -

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;

Som du kan se, kan det gøres uden gemt procedure.



  1. Understøtter mysqldump en statuslinje?

  2. SQL Server database backup gendannelse på lavere version

  3. Værtspakke på Chokolade

  4. PDO PHP bindValue virker ikke