nie wiem, nie używam mysql. Ale przecież check jest zupełnie elementarnym elemenentem sql'a, mysql powinien go mieć, tym bardziej, że:
Cytat
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
[(] LIKE old_tbl_name [)];
create_definition:
column_definition
| [CONSTRAINT [symbol]] PRIMARY KEY [index_type] (index_col_name,...)
| KEY [index_name] [index_type] (index_col_name,...)
| INDEX [index_name] [index_type] (index_col_name,...)
| [CONSTRAINT [symbol]] UNIQUE [INDEX]
[index_name] [index_type] (index_col_name,...)
| [FULLTEXT|SPATIAL] [INDEX] [index_name] (index_col_name,...)
| [CONSTRAINT [symbol]] FOREIGN KEY
[index_name] (index_col_name,...) [reference_definition]
| CHECK (expr)
Tak mi powiedział manual mysql'owy (nie wiem do której wersji

).
A co do odpowiednika funkcji strlen w mysql'u to jest nim funkcja lenght(), więc definicja tabeli wyglądała by tak:
CREATE TABLE tabela (pole character varying(15), ..., CHECK (LENGHT(pole)>7));