Hello Dedlfix,
Meine Datenbanken sind leider vollständig mit MyISAM gebaut. Da muss ich die erstmal umbauen. Aber ich habe noch im Gedächtnis, dass Relations mit MyISAM auch nicht möglich sind, aber mit InnoDB. Dann würde es sich wenigstens lohnen.
Vergiss nicht, einen Performance-Test durchzuführen. All die netten InnoDB-Features gibt es nicht zum Nulltarif. http://dev.mysql.com/doc/refman/5.1/en/storage-engine-compare-transactions.html
Die erste Aufgabe, die ich dann mal damit angehen würde, wäre das beliebte "Insert Before" oder auch "Insert Behind". Dazu mussten bisher (symbolisch) die Statements
before:
lock table tabelname
;
select @nummer := lfdnr from tablename
where id = $id;
update tablename
set lfdnr = lfdnr+1 where lfdnr >= @nummer;
insert into tabelename
(lfdnr, ... columnlist) values (@nummer, ... valuelist);
unlock table tablename
;
ausgeführt werden.
Vielleicht kann man das ja mit einem "select .. for update" besser machen, dass wenigstens nur noch die Datensätze gesperrt werden, die auch manipuliert werden.
da bringe ich jetzt nur das Insert noch nicht unter.
Liebe Grüße aus dem Cyberspace
Tom vom Berg