2017-10-01 3 views
0

Comment créer alphanumérique auto_increment avec un préfixe qui sera inséré dans une table chaque fois qu'une procédure est appelée et que la procédure renvoie cette valeur? Le type de données peut être number ou varchar.Comment incrémenter automatiquement une valeur

Par exemple:

M0000001 
M0000002 
M0000003 
.... 
M0000011 
+1

Pourquoi ne pouvez-vous utiliser juste une colonne d'incrémentation automatique et marquer ensuite sur la lettre 'M' ou quelle que soit la séquence alpha que vous voulez? –

+0

Si vous êtes nouveau dans SQL, n'essayez pas de comprendre cela. Apprenez à utiliser et à aimer une colonne d'incrémentation automatique numérique. –

Répondre

0

Vous devez concaténer chaîne 'M' avec votre colonne.

SELECT 'M'|| num1 from test; 

Edité ===

procédure ci-dessous vous donnera dernier id inséré dans votre table.

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; 
+0

@steve vous avez besoin d'une procédure qui retourne la valeur? mais quelle valeur? – Ravi

+0

@steve que voulez-vous dire par valeur actuelle? tu veux dire la dernière valeur? – Ravi

+0

@steve vérifier mon poste et l'espoir, vous attendez même – Ravi

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`) 
);