如何生成ID'按顺序按c#中的日期

时间:2015-07-26 15:27:10

标签: c# date uniqueidentifier auto-generate inorder

如何在用户注册时为其生成ID。我想要的ID类型采用以下格式:(ABCDEF2015xxx)。例如,在2015年注册的第一个用户将具有此ID:ABCDEF2015001。下一个用户将具有ID:ABCDEF2015002。在第二年,第一个用户将拥有ID:ABCDEF2016001。

问候。

1 个答案:

答案 0 :(得分:0)

我认为你可以通过使用触发器实现这一点。我从来没用过mysql。但谷歌搜索并写了一些示例触发器。我可能不会那样工作,你可能需要解决一些问题。但你可以遵循同样的想法。

CREATE TRIGGER tg_table1_insert
BEFORE INSERT ON table1
FOR EACH ROW
BEGIN
  INSERT INTO table1_seq VALUES (NULL);
    $query = mysql_query(CONCAT('SELECT max(CAST(SUBSTRING(id,11) AS BIGINT)) as id FROM table1 where SUBSTRING(ID,7,4) =',CAST(YEAR() AS CHAR))); 
    while ($row = mysql_fetch_object($query)) {
    $lastId =  $row->id;
  }
  if($lastid IS NULL) THEN
  $newid = CONCAT('ABCDEF', CAST(YEAR() AS CHAR), '001')
  ELSE
  $newid = CONCAT('ABCDEF', CAST(YEAR() AS CHAR), CAST($lastId+1 AS CHAR))
  END IF;
  SET NEW.id = $newid;
END$$