0

テキストと自動インクリメント値で構成される学生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

テキストを毎年更新される年に変更したい。ありがとう、ミルズ

4

1 に答える 1

0

これを試して

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

SQL フィドルのデモ

出力

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'))
于 2013-03-06T08:58:42.147 に答える