Chciałbym w triggerach sprawdzać czy wartości w polach są mieszczą się w odpowiednim zakresie, czy są spójne z innymi tabelami. Jeśli coś się nie powiedzie to chciałbym zwracać błąd. Niestety taki kod nie działa:
  1. IF (NEW.kwotaKredytu < 0) THEN
  2. SIGNAL SQLSTATE '80000'
  3. SET MESSAGE_TEXT='Kwota kredytu nie może być mniejsza niż 0';
  4. END IF;


Widziałem taki sposób na to:

  1. SELECT 'Kwota kredytu nie może być mniejsza niż 0' INTO dummy
  2. FROM kredyty
  3. WHERE kredytId=NEW.kredytId;

Niestety to zwraca komunikat takiej postaci "ERROR 1054 (42S22): Unknown column 'Kwota kredytu nie może być mniejsza niż 0' in 'field list'" Czy jest jakiś sposób na zwrócenie z triggera jakieś liczby lub tekstu. Ponieważ powyższe rozwiązanie jest wg. mnie nieeleganckie. Do dyspozycji mam mysql 5.1.x.