如何自动递增值

时间:2017-10-01 15:36:36

标签: mysql sql database stored-procedures

如何使用前缀创建字母数字 auto_increment,只要调用过程并且过程将返回该值,该前缀将插入到表中?数据类型可以是number或varchar。

例如

M0000001
M0000002
M0000003
....
M0000011

2 个答案:

答案 0 :(得分:0)

您需要在列中连结'M'字符串。

SELECT 'M'|| num1 from test;

<强>编辑===

以下程序将为您提供在表格中插入的最后一个ID。

create procedure return_value(IN p_col1 VARCHAR(255), IN p_col2 VARCHAR(255), OUT id VARCHAR(255))
begin
    insert into test(col1,col2) values(p_col1,p_col2);
    SELECT 'M'|| max(num1) into id from test;
end;

答案 1 :(得分:0)

CREATE TABLE `categories` (
  `category_id` int(11) AUTO_INCREMENT,
  `category_name` varchar(150) DEFAULT NULL,
  `remarks` varchar(500) DEFAULT NULL,
  PRIMARY KEY (`category_id`)
);