Ik zag dat het niet mogelijk was om een UNIQUE constraint toe te kennen aan een combinatie van 2 kolommen (datum, naam) en wil deze functionaliteit nu programmeren met een Trigger.
(Het is wel mogelijk om deze UNIQUE constraint te maken, maar MYSQL lapt deze gewoon aan zijn laars en je kunt dus lekker wel 2 records hebben met dezelfde datum en naam) Ook krijg ik een melding bij het editen in phpmyadmin
("PRIMARY" moet de naam van en alleen van een primaire sleutel zijn!)
In Interbase zou ik een Exception maken die wordt aangeroepen als de NEW waarden van datum en naam voorkomt bij hetzelfde id nummer, maar EXCEPTIONS bestaan niet in MYSQL?
Ik wil dat er niks geÏNSERT wordt als de combinatie van datum en naam al voorkomt
Ik heb geen zin om ook een else te moeten programmeren die de data daadwerkelijk invoegt als de record nog niet bestaat. Ik neem aan dat dit automatisch gebeurt als de IF statement niet waar oplevert?
Als een UNIQUE constraint wel over 2 fields kan, dan hoor ik het graag en gebruik ik die natuurlijk.
(Het is wel mogelijk om deze UNIQUE constraint te maken, maar MYSQL lapt deze gewoon aan zijn laars en je kunt dus lekker wel 2 records hebben met dezelfde datum en naam) Ook krijg ik een melding bij het editen in phpmyadmin
("PRIMARY" moet de naam van en alleen van een primaire sleutel zijn!)
In Interbase zou ik een Exception maken die wordt aangeroepen als de NEW waarden van datum en naam voorkomt bij hetzelfde id nummer, maar EXCEPTIONS bestaan niet in MYSQL?
Ik wil dat er niks geÏNSERT wordt als de combinatie van datum en naam al voorkomt
MySQL:
1
2
3
4
5
6
7
8
9
10
| DELIMITER // CREATE TRIGGER T_BI_tabelnaam BEFORE INSERT ON tabelnaam FOR EACH ROW BEGIN IF CONCAT(NEW.datum, NEW.naam) in (SELECT (CONCAT(datum,naam) FROM tabelnaam)) THEN --doe niks END IF; END; // DELIMITER ; // |
Ik heb geen zin om ook een else te moeten programmeren die de data daadwerkelijk invoegt als de record nog niet bestaat. Ik neem aan dat dit automatisch gebeurt als de IF statement niet waar oplevert?
Als een UNIQUE constraint wel over 2 fields kan, dan hoor ik het graag en gebruik ik die natuurlijk.
[ Voor 5% gewijzigd door REDFISH op 01-07-2007 18:08 ]