Varchar İçin Auto_Increment Mümkün Mü?
-
Elimde şöyle bir column var (unique), UPD-0001 ve BUG-0001 şeklinde.
İkisi de aynı tabloda yer alıyor. Benim amacım diyelim ki adam bug ekledi, son bug numarasına 1 eklesin.
Yani şöyleyse;
UPD-0001
BUG-0001
UPD-0002
UPD-0003
Sonraki eklenecek bug BUG-0002 olarak eklensin.
Sonra improvement eklerse UPD-0004 olsun.
Veritabanına bunun için hazır bir yapı yazabilir miyim ? İlla php den son bug/upd datasını çekip parse edip üstüne 1 mi koymam gerekiyor ?
ozgunlu tarafından 25/Şub/16 11:24 tarihinde düzenlenmiştir -
trigger ile yapabilirsin hocam..
guzel bir ornek buldum yanliz ekstra bir tabloya da daha ihtiyacin olacak
mantigi anlamadiysan aciklama calisirim
CREATE TABLE table1_seq ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY )| CREATE TABLE Table1 ( id VARCHAR(7) NOT NULL PRIMARY KEY DEFAULT '0', name VARCHAR(30) )| CREATE TRIGGER tg_table1_insert BEFORE INSERT ON table1 FOR EACH ROW BEGIN INSERT INTO table1_seq VALUES (NULL); SET NEW.id = CONCAT('LHPL', LPAD(LAST_INSERT_ID(), 3, '0')); END | INSERT INTO Table1 (name) VALUES ('Jhon'), ('Mark')|http://sqlfiddle.com/#!2/0ed88/1
unbalanced tarafından 25/Şub/16 11:20 tarihinde düzenlenmiştir -
Tag ve id diye neden ayrı kolonlarda tutmuyorsun ki
TAG. | ID
BUG. 0001
şeklinde iş görmez mi , sorgulamalar daha performanslı vs olur gibime geliyor.
-
@unbalanced bi deniyim hocam da yapamazsam sorarım, teşekkürler
@genki unique' liğini nasıl sağlıcam ?
