Otomatik artış değerlerin MySQL sütunu değiştirmek

1 Cevap php

Ben başlığı ile zor bir zaman vardı, bu yüzden izin ver açıklayayım.

Ne yapıyorum bir sayfada sıralanabilir liste öğelerini oluşturmak için jQuery UI kullanıyor. Sipariş gönderildikten sonra, php, onların sırasına göre liste elemanları için artan bir değer atar mevcut id sütunu düşer, yeni bir kimlik sütun oluşturur ve title = x her liste elemanları değer ekler. Bu kimlik en doğru sırasını oluşturur ve iyi çalışıyor.

Şimdi ne istiyorum ben yeni bir giriş eklerseniz, kimliği otomatik olarak atanır şekilde, AUTO_INCREMENT için sütun değiştirmek olduğunu, php komut dosyası tarafından oluşturulan büyük numaradan bir sayı yüksek. Ben herhangi bir yabancı anahtarlar ya da bir şey, sadece bu basit tablosu kullanılarak değilim.

Bu mümkün mü?

1 Cevap

Benim hatam, ben sorunuzu yanlış anladım. Sen sıralama sırasına göre numaralandırma sağlamak için veritabanının kendisi kullanmak istemiyorum. Ancak artan bir alan dönmek için SQL sorgusu kendisi kullanabilir. Bir san ve ben bu bilgi ile güncelleme olacak ...

Tamam, işte burada:

you need to use a variable like set @n=0;SELECT @n:=@n+1 as 'n', col1, col2 from table

Ancak, ben son derece mümkünse eğer sadece php kodu numaralandırma oluşturun öneririz.

---------------- Orijinal Mesaj ----------------

Bu phpmyadmin ile oldukça kolaydır. Lütfen yapamaz o yüklemek için ise bana bildirin ve ben gerekli SQL kazıp olacak.

Tüm halt, burada SQL olduğunu:

alter table t1 modify f1 int(4) auto_increment alter TABLE tbl auto_increment = xxx; //change xxx to be the next id it should use

Eğer değil zaten kullanımda bir şey olmak AUTO_INCREMENT değerini değiştirmek yoksa o AUTO_INCREMENT eklemek için başarısız olacak, mevcut veri setine bağlı olarak ters sırayla bu çalıştırmanız gerekebilir.