更新时间:2022-03-08 22:49:03
问题:
CONCAT()
NULL
,因此您需要使用COALESCE()
或IFNULL()
来获取默认值以进行串联CONCAT()
in MySqlNULL
therefore you need to use COALESCE()
or IFNULL()
to get DEFAULT value for concatenation您的查询应如下所示
INSERT INTO table1 (username)
SELECT CONCAT(COALESCE(prefix, 'AB'), LPAD(COALESCE(MAX(id), 0) + 1, 3, '0'))
FROM table1
结果:
| ID | PREFIX | USERNAME |
--------------------------
| 1 | AB | AB001 |
| 2 | AB | AB002 |
这里是 SQLFddle
Here is SQLFddle