Depolanan yordamda yeni bir Kılavuz nasıl oluşturulur?


94

Şu anda bir tabloya yeni satırlar eklemek istediğim bir saklı yordamım var.

insert into cars
(id, Make, Model)
values('A new Guid', "Ford", "Mustang")

Dolayısıyla birincil anahtar 'id' bir Kılavuzdur. C # kodunda yeni bir Kılavuzun nasıl oluşturulacağını biliyorum, ancak saklı yordamda birincil anahtar değerleri için yeni Kılavuzları nasıl oluşturacağımdan emin değilim.

Yanıtlar:




12

Sorunuzda bunu sormadınız, ancak birincil anahtar için bir GUID kullanmanın her zaman iyi bir fikir olmadığını belirtmeye değer olduğunu düşünüyorum. Basit olsa da, bir dizinde bir GUID kullanıldığında performansı etkileyebilir. Bunun yerine tamsayı değeri olan bir Kimlik sütunu kullanmayı düşündünüz mü ?

Okumak için yararlı olabilecek birkaç makale burada.


1
Evet sana katılıyorum. Ancak başka birinin geliştirdiği bir veritabanı üzerinde çalışıyorum. Önceki tüm tablolar birincil anahtar olarak bir Kılavuz kullanıyordu, bu yüzden tutarlı olmaya çalışıyorum. Yine de yeni tablolar için duruma göre değerlendirmeliyim. Yine de bilgi için teşekkürler.
Mr Cricket

1

MySQL'de UUID () 'dir. bu nedenle sorgu şöyle olur:

insert into cars
(id, Make, Model)
values(UUID(), "Ford", "Mustang")

uuid'i yeniden kullanmak istiyorsanız, bunu şu şekilde yapabilirsiniz:

set @id=UUID();
insert into cars
(id, Make, Model)
values(@id, "Ford", "Mustang");
select @id;

her ikisi de
mysql'de

1

Soru formatında (bilgiçliği tespit edin!)

insert into cars
  (id, Make, Model)
  values(NEWID(), "Ford", "Mustang")
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.