您可以直接在INSERT语句中直接执行此操作,如下所示:
INSERT INTO User (username, first, last)
SELECT CONCAT('johntory', COUNT(id)), 'John', 'Tory'
FROM User WHERE username LIKE 'johntory%';
或者,如果你不喜欢前面的零,你可以使用这个:
INSERT INTO User (username, first, last)
SELECT CONCAT('johntory', CASE WHEN COUNT(id) = 0 THEN '' ELSE COUNT(id) END), 'John', 'Tory'
FROM User WHERE username LIKE 'johntory%';
这非常快速有效.它使用子查询来准备值,然后插入它们.
此外,这将比这里提供的任何PHP解决方案快许多倍,特别是如果您处理数十亿行.
就个人而言,我喜欢MySql的简洁性和性能
请享用!
〜Techdude