使用年份和自动递增的值创建学生ID号

时间:2013-03-06 08:40:34

标签: php mysql phpmyadmin

我创建了一个学生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

我想将文本更改为每年更新的年份。 谢谢,米尔斯

1 个答案:

答案 0 :(得分:0)

试试这个

SELECT
  *,
  concat(YEAR(NOW()),'-',LPAD(id,5,'0')) as stud_id
FROM students

SQL Fiddle Demo

输出

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'))