SORU
11 NİSAN 2009, CUMARTESİ


MySQL:/Sıfırlama otomatik artan birincil anahtar Yeniden düzenlemek?

Otomatik artan birincil anahtarları ile MySQL bir tablo var... masanın ortasında bazı satırları sildim. Şimdi, örneğin, KİMLİĞİ sütununda şöyle bir şey var: 12, 13, 14, 19, 20... silinen 15, 16, 18 ve 19 satır.... Reset/süreklilik var ve bu yüzden birincil anahtarları yeniden düzenlemek/reassing... 19 15, 20, 16 ve ekmek istiyorum....

Bunu nasıl yapabilirim??? Teşekkürler.

CEVAP
25 Mart 2011, Cuma


Bu soru oldukça eski gibi görünüyor olsa da, burada aramaya kalkışan birisi için bir cevap yayınlayacağız.

SET @count = 0;
UPDATE `users` SET `users`.`id` = @count:= @count   1;

Eğer sütun diğer tablolardaki yabancı anahtar olarak kullanılıyorsa, bu tablolar ON UPDATE NO ACTION yabancı anahtar için varsayılan ilişki yerine ON UPDATE CASCADE kullandığınızdan emin olun.

AUTO_INCREMENT sayacını sıfırlamak için ek olarak, hemen şu sözleri beyan edebilirsiniz.

ALTER TABLE `users` AUTO_INCREMENT = 1;

MySQLs MAX(id) 1 değerini sıfırlar.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Darren Kitchen

    Darren Kitch

    3 EKİM 2011
  • MobileTechReview

    MobileTechRe

    6 HAZİRAN 2008
  • Peter Sharp

    Peter Sharp

    11 ŞUBAT 2013