Mario Steinko: MySQL: Autoimcrement ohne Key?

Beitrag lesen

Ok, verstehe. Wie gesagt so Tiefen Einblick in die Materie hab ich leider nicht, ich kann nur die Standard-SQL Sachen und kenn im Groben die Unterschiede zwischen den unterschiedlichen SQL-DB...

Ich hab sowieso bereits eine Tabelle mit dem primary autoincrement Key id für die Tabelle blogs, da füg ich einfach ne Spalte next_entry_id hinzu ;)

Reicht es wenn ich folgendes SQL-Statement beim erstellen eines Entrys ausführe?

mysql_query("lock record in blogs where blog_id = '".$blog_id."'");  
$next_entry_id = mysql_query("select next_entry_id from blogs where blog_id = '".$blog_id."'");  
$next_entry_id = mysql_fetch_array.......  
mysql_query("update next_entry_id in blogs set next_entry_id = '".$next_entry_id+1."' where blog_id = '".$blog_id."'");  
mysql_query("unlock table blogs");  
mysql_query("INSERT INTO entries (entry_id, ...) VALUES ('".$next_entry_id."',...)");

Was passiert wenn während eines locks ein zweiter Zugriff stattfindet, "wartet" der dann oder entsteht dann ein Fehler?

Vielen Dank!
Mario