拆分字符串并将其作为单个值插入到 MySQL 表中?
您可以借助MySQL中的预准备语句来实现这一点。首先,您需要创建一个表。创建表的查询如下
mysql> create table University - > ( - > UserId int, - > UniversityId int - > );
首先,让我们在上述列中设置值。在这里,我们为UserId列设置了一个以逗号分隔的字符串。我们将把它拆分并插入表中
mysql> SET @userId = '8,9,10'; mysql> SET @UniversityId = 100; mysql> SET @myValues = REPLACE(@userId, ',', CONCAT(', ', @UniversityId, '),(')); mysql> SET @myValues = CONCAT('(', @myValues, ', ', @UniversityId, ')'); mysql> SET @insertQuery1 = CONCAT('INSERT INTO University VALUES', @myValues);
执行完所有步骤后,需要执行上面提到的@insertQuery1。
查询如下
mysql> PREPARE st FROM @insertQuery1; Statement prepared mysql> EXECUTE st; Records: 3 Duplicates: 0 Warnings: 0
现在使用select语句显示表中的所有记录
mysql> select *from University;
以下是显示我们已成功拆分字符串(8,9,10)并将它们作为单独值插入的输出
+--------+--------------+ | UserId | UniversityId | +--------+--------------+ | 8 | 100 | | 9 | 100 | | 10 | 100 | +--------+--------------+ 3 rows in set (0.00 sec)
现在释放准备好的语句。
查询如下
mysql> DEALLOCATE PREPARE st;