konto usunięte
Temat: Check constraint w MySQL?
Cześć,Mam mały problem z bazą MySQL, a dokładnie chodzi mi o uściślenie danych wprowadzanych do bazy (check constraint). Mam zainstalowaną bazę w wersji 5.0.51b w paczce oprogramowania Vertrigo. Powiedzmy, że struktura bazy wygląda tak:
id | pole_1 | pole_2 |
Wykonałem takie zapytanie do bazy:
SET sql_mode = 'STRICT_TRANS_TABLES';
SET sql_mode = 'STRICT_ALL_TABLES';
a następnie:
ALTER TABLE test
ADD CONSTRAINT chk_test CHECK (pole_1 = 'S' AND pole_2 IS NOT NULL);
Zapytanie wykonało się poprawnie, więc myślałem, że ograniczenie już działa. Okazało się, że mogę wprowadzać dowolną kombinację danych i tak jakby check nie istniał. Zrobiłem eksport tabeli i ku mojemu zdziwieniu nie ma tam żadnego checka, a przecież jeżeli został utworzony to powinien dać się wyeksportować.
Czy ktoś może ma doświadczenie ze wspomnianym zagadnieniem i pomoże wskazać błąd w moich działaniach?