Jakoś nie mogę nigdzie tego znaleźć, nawet w manualu.

Chodzi o więzy spójności a konkretnie o CHECK tak, jak to jest w Postgres.
Chciałbym, żeby wartość została sprawdzona przed wpisaniem do bazy, np. (...) CHECK > 1000.

Zrobiłem tak:
  1. CREATE TABLE tab (
  2. `data1` INT( 15 ) UNSIGNED CHECK (data1> 100)
  3. );


Dodałem potem primary key na data1 i co? ... i wstawia mi wszystko, czyli sprawdzanie nie działa wogóle.

I jeszcze jedno. Jak zrobić, żeby przy zmianie czegokolwiek w wierszu wpisywał jakąś wartość do pola

np. dla data1 coś jak:
(...) ON UPDATE SET (data1*data2)

Potrzebuję tego bardziej poprzez ALTER TABLE niż CREATE TABLE.