Tablodaki alan tanımlamak için genel bir yoldur

4 Cevap php

Ben bir sql editörü (Sqlite3) yazıyorum.

Ben bir tablo sergileyebilir ve kullanıcılar tablodaki herhangi bir değeri düzenlemek için izin ama şimdi editted değerini tanımlayan bir yol gerekir edebilirsiniz. Sorun birincil anahtar ne olduğunu bilmiyorum ve ben bunun iyi bir fikir güncelleştirme tablo = b x = 123 ve y = 123 ve z = 123 ve set "demek olduğunu sanmıyorum ... Bir "" olmayan tüm alanlar için ".

Jquery (ve ajax) ve php kullanıyorum.

Herhangi bir fikir?

4 Cevap

Eğer birincil anahtar (or you don't know if there is an UNIQUE index) , you won't have much of a choice : even if using all fields in your where fıkra ne olduğunu bilmiyorsanız, birden fazla satır (the one the user wanted to edit) güncelleme olabilir.

Eğer gerçekten bir hassas çizgiyi belirlemek için bir yol gerekir - ve bu şekilde birincil anahtardır.


Maybe, just out of curiosity, you my check how phpMyAdmin does that ?
(I know it's not SQLIte, my MySQL -- but maybe the general idea could be re-used ?)

Birincil anahtar (ya da en azından EŞSİZ) belirtin ve ardından SHOW INDEX FROM table (http://dev.mysql.com/doc/refman/5.0/en/show- ile almak için kullanıcıyı zorlayacağını index.html)

Eğer PK veya İngiltere sütunu tespit edemiyorsa, o zaman "burada x = 123 ve y = 123 ve z = 123" kullanabilirsiniz, ancak LİMİTİ 1 eklemek için hatırlamak zorunda - o zaman bir rekor daha fazla düzenleme yok eminiz.

Gerçekten bu güncelleştirmeyi '... bir değil, tüm alanlar için' sorunu böyle iyi bir fikir değildir. Sen düzenlendiği satırda bir eski değeri ile birlikte, çok bir içermelidir.