问题:
- 正如Matt所提到的,您需要
CONCAt()
在MySql中使用 - 对于插入的第一条记录,您的SELECt返回,
NULL
因此您需要使用COALESCE()
或IFNULL()
获取DEFAULT值以进行串联
您的查询应如下所示
INSERT INTO table1 (username)SELECT CONCAt(COALESCE(prefix, 'AB'), LPAd(COALESCE(MAX(id), 0) + 1, 3, '0')) FROM table1
结果:
| ID | 前缀| USERNAME |--------------------------| 1 | AB | AB001 || 2 | AB | AB002 |
这是 SQLFddle



