MySQL braucht eigentlich kein Locking, obwohl es keine Transaktionen kennt (zumindest die Standard Tabellen können keine; mit InnoDB sieht das schon anders aus).
MySQL arbeitet mit Lese- und Schreibthreads und macht Table Locking (siehe auch
diesen Artikel).
Du kannst das Problem auch lösen indem Du einen Versionszähler in Deine Tabelle einbaust:
SQL-Code:
create table kunde (
id integer not null,
version integer not null default 1,
name varchar(60)
)
Bei einem INSERT wird die Version auf 1 gesetzt, bei einem UPDATE machst Du das einfach so:
SQL-Code:
update kunde
set name="Neuer Name"
where id = 100
and version = 1
Dadurch das Du immer auf eine bestimmte Version prüfst kannst Du Konflikte mit anderen Anwendungen vermeiden.
Gruß,
Marcel