Я думаю, initcap()
не является детерминированным c, поскольку результаты могут зависеть от параметров сортировки базы данных по умолчанию (при некоторых обстоятельствах).
Вы можете убедиться, что первые символы пишутся с большой буквы, используя:
CONSTRAINT nombreok CHECK (not (nombre_director collate latin1_general_cs) REGEXP '(^|[[:space:]])[[:lower:]]')
Здесь - это скрипта db <>.
Если вы также хотите проверить нижний регистр:
CONSTRAINT nombreok CHECK ((nombre_director collate latin1_general_cs) REGEXP '^([[:upper:]][[:lower:]]+([[:space:]]+|$))+$')
Однако, Возможно, вы захотите расширить это за пределы буквенных символов.
Здесь - это скрипта db <> для этого.