Yani, birkaç basit sütun, bir otomatik artış, ve bir karma (varchar, TEK) ile bir mysql tablo düşünün.
Bu MySQL bir sütun katacak bir sorgu vermek ve birden fazla sorgu olmadan benzersiz bir karma oluşturmak mümkün mü?
Şu anda, bunu başarmak için aklıma tek yolu ben daha girişleri db vardı yoğun daha ve daha fazla işlemci olacak endişe bir süre, ile.
İşte bazı sözde-php, açıkçası denenmemiş, ama genelinde genel bir fikir alır:
while(!query("INSERT INTO table (hash) VALUES (".generate_hash().");")){
//found conflict, try again.
}
Yukarıdaki örnekte, karma kolon benzersiz olacaktır ve bu nedenle, sorgu başarısız olur. Sorun, db 500.000 girişleri var diyorlar ve ben 4 karakter ile, bir base36 karma jeneratör kapalı çalışıyorum. Bir çatışma olasılık vardır neredeyse 1 3 olacağını, ve ben kesinlikle 160.000 sorguları çalışan olamaz. Aslında 5 daha fazla bir ben kabul edilemez düşünecektim.
Yani, saf SQL ile bunu yapabilirsiniz? (: "J8Du7X", az, AZ, 0-9 ve chars gibi), ve ya onunla last_insert_id güncellemek, hatta daha iyi, insert sırasında oluşturmak I 6 karakter dize, bir base62 oluşturmak gerekir.
MySQL ile temel CRUD işleyebilir, ama bile Joın benim MySQL konfor bölgesi biraz dışında, yani bu pasta ise benim cehalet mazeret.
Herhangi bir fikir? Ben saf MySQL veya PHP & ya da kullanmayı tercih ediyorum Başka bir dil bu temiz halletmek eğer MySQL, ama cehennem, ben de bir senaryo ve AJAX onu kurmak istiyorum.
Teşekkürler!