我创建了一个由文本和自动递增值组成的学生 ID 号,例如:KP0001 - KP9999 它将再次重置为 KP0001,这将导致 ID 号重复。我将其更改为:2013-00001 但它不起作用我不知道为什么。
这是我尝试过的:
text id
KP 1
KP 2
KP 3
SELECT * ,concat(text,LPAD(id,4,'0')) as stud_id FROM students
我想将文本更改为每年更新的年份。谢谢,米尔斯
我创建了一个由文本和自动递增值组成的学生 ID 号,例如:KP0001 - KP9999 它将再次重置为 KP0001,这将导致 ID 号重复。我将其更改为:2013-00001 但它不起作用我不知道为什么。
这是我尝试过的:
text id
KP 1
KP 2
KP 3
SELECT * ,concat(text,LPAD(id,4,'0')) as stud_id FROM students
我想将文本更改为每年更新的年份。谢谢,米尔斯
尝试这个
SELECT
*,
concat(YEAR(NOW()),'-',LPAD(id,5,'0')) as stud_id
FROM students
输出
id text stud_id
--------------------
1 KP 2013-00001
2 KP 2013-00002
3 KP 2013-00003
您可以使用此更新查询
UPDATE students AS s
LEFT JOIN(
SELECT
*
FROM students
) AS l ON l.id = s.id
SET s.text = concat(YEAR(NOW()),'-',LPAD(l.id,5,'0'))