自动生成表

时间:2017-03-27 05:43:26

标签: php

我有一个带有id,stud_id,stud_info的数据库表我知道如何自动增加id但我也希望stud_id能够像STU000001一样自动递增。是否可以只使用php然后插入它在数据库? Stud_id应该等于STU的id和包括id的6位数。

2 个答案:

答案 0 :(得分:0)

您可以使用触发器

来完成
    DELIMITER $$
    CREATE TRIGGER trigger_name_insert
    BEFORE INSERT ON table_name
    FOR EACH ROW
    BEGIN
      INSERT INTO table_name VALUES (NULL);
      SET NEW.id = CONCAT('STU', LPAD(LAST_INSERT_ID(), 5, '0'));
    END$$
    DELIMITER ;

答案 1 :(得分:0)

你有两个选择:

1)首先(简单的一个),生成两列,一列用于保存数字,这些列必须是一个自动增量字段,如主要ID键和一个用于前一个单词的列,这里是STU(或者只使用一列和连续在您的代码中使用STU)

2)(mysql解决方案)第二种方式是使用存储过程,因此您可以生成自定义自动增量值,如STU000001 STU000002 STU000003 ... 你可以这样做:

http://en.latindevelopers.com/ivancp/2012/custom-auto-increment-values/