mysql mehrere insert

Hi,

ich bin wirklich kein Expterte in Sachen Datenbanken, daher brauche ich mal etwas Hilfe, bevor ich es selber ( falsch ) mache. Ich muss in der Arbeit für eine Firma ein Programm schreiben, was ab und zu Datenbanktransaktionen machen muss. Mal etwas vereinfacht.

Code:
CREATE TABLE anlage
(
	m_id   integer     unsigned auto_increment,
	p_name varchar(40), 
	primary key(m_id)
);

CREATE TABLE produktion
(
	p_id   integer     unsigned auto_increment,
	f_id   integer      ,
	p_name varchar(40),
	primary key(p_id)
);

INSERT INTO anlage(p_name) values('Kuka M-100');
$id = "SELECT m_id from anlage where m_id = ( SELECT MAX(m_id) FROM anlage)"
INSERT into produktion(f_id,p_name) values($id,'Bolzen');

In $id speicher ich den zuletzt eingefügten Primärschlüssel und verwende diesen als Fremdschlüssel in Produktion ( oben nicht vorhanden ). Es handelt sich aber um 3 Transaktionen, die nicht atomar sind, es kann passieren, dass ich 2 mal was in anlage speichere und dann erst in Produktion, somit hätten 2 Einträge in Produktion den gleichen Schlüssel aus anlage.

Wie kann ich das umgehen ? Ein insert in 2 Tabellen soll nicht gehen, ich müsste die Tabellen sperren und bräuchte dann sowas wie in COMMIT und ROLLBACK. Ich hätte aber gerne etwas 'Expterten' Rat, bevor es falsch gemacht wird.

THX
 
Zurück
Oben