duplicate entry

Status
Niet open voor verdere reacties.

kandinsky

Gebruiker
Lid geworden
14 mei 2008
Berichten
8
Hey,
ik ben nog maar een beginner met mysql en zit met een probleem.
Wil namelijk een kleine database maken om een beetje te oefenen
heb hierbij een samengestelde tabel gemaakt waar ik twee maal een id ingeef van een
andere tabel + een datum.

bv Insert into behandeling_datum(dierid,behandelingsid,behdat) values (1,1,’1999-1-2’);

nu wil ik de datum bijhouden in een andere tabel dmv een trigger.

Delimiter //
Create trigger laatste after insert on behandeling_datum for each row
Begin
Declare ladat date;
Declare behid int;
Declare behnaam varchar(30);
Select max(behdat) from behandeling_datum where behandeling_datum.dierid = new.dierid
Into ladat;
Select behandeling_datum.behandelingsid from behandeling,behandeling_datum where behdat =( Select max(behdat) from behandeling_datum where behandeling_datum.dierid = new.dierid) into behid;
Select behandeling.soort from behandeling where behandeling.behandelingsid = behid into behnaam;
Update Dier set laatstebehdat = ladat where dier.dierid = new.dierid;
Update Dier set laatstebeh = behnaam where dier.dierid = new.dierid;
End;
//
Delimiter;

Dit lukt, maar als ik nu
Insert into behandeling_datum(dierid,behandelingsid,behdat) values (1,1,’2000-1-2’);
doe, zou ik willen dat dit ook opgeslagen wordt en dat de datum in de andere tabel veranderd. Ik heb er alleen geen flauw benul van hoe ik die duplicate entry moet wegkrijgen.
Voor wie raad weet alvast bedankt
 
geeft mysql een preciese foutmelding?

een van de velden waar je in probeert te schrijven staat waarschijnlijk op uniek. Als die waarde al een keer voorkomt in de tabel dan geeft mysql een foutmelding
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan