Ne kadar herhangi bir MySQL-DB tablodan silinen id yeniden kullanmak?

2 Cevap php

Ne kadar herhangi bir MySQL-DB tablodan silinen id yeniden kullanmak?

Ben silinen kimliğini geri almak istiyorsanız, biz zaten bunu yapabiliriz?

2 Cevap

Bu düşük kullanılmayan kimliğini bulma ve bunu zorlayarak mümkün olabilir, ancak esas olarak, çünkü referans bütünlüğü, korkunç kötü bir uygulamadır: Bu diğer tablolardan ilişkileri olarak tanınabilir olmaz silinen bir kayda, işaret, örneğin, olabilir Artık kimlikleri yeniden olsaydı "silindi".

Bottom line: yapmayın. Bu gerçekten kötü bir fikir.

İlgili Okuma: Using auto_increment in the mySQL manual

Güncellemenize Re: bunu yapmak için meşru bir sebep olsa bile, ben bir auto_increment alandaki değerleri yeniden kullanım için otomatik bir yol olduğunu sanmıyorum. Hiç değilse, (belki bir saklı yordam veya harici bir komut dosyası kullanarak) en düşük kullanılmayan değerini bulmak ve kimliği olarak bu zorlamak olurdu (hatta eğer mümkünse.).

1..

Sağladı açıklama başı olarak "Pekka @, ben Ekle Güncelle izleme ve Queri silmek ediyorum ..." Ben sadece bazı geri nasıl aynı kimliği eski verilerinizi koymak istiyorum varsayalım.

In that case you may consider using a delete-flag field in your table. If the delete-flag is set for some row, you shall consider program to consider it deleted. Further you may make it available by setting the delete-flat(false).

Similar way is to move whole row to some temporary table and you can bring it back when required with the same data and ID. Prev. idea is better though.

2.

If this is not what you meant by your explanation; and you want to delete and still use all the values of ID(auto-generated); i have a few ideas you may implement: - Create a table (IDSTORE) for storing Deleted IDs. - Create a trigger activated on row delete which will note the ID and store it to the table. - While inserting take minimum ID from IDSTORE and insert it with that value. If IDSTORE is empty you can pass NULL ID to generate Auto Incremented number.

Eğer referanslar / ilişkiler (FK) uygulanan varsa gereksinimi öylesine olduğu gibi tabii, elle, ona bakmak gerekir.

Further Read: http://www.databasejournal.com/features/mysql/article.php/10897_2201621_3/Deleting-Duplicate-Rows-in-a-MySQL-Database.htm