Почему не работает проверка на вводимое значение в MySQL?
Добрый день, создаю таблицу в mysql
CREATE TABLE Offices(
codeOffice CHAR(4) NOT NULL PRIMARY KEY,
town VARCHAR(20) NOT NULL,
address VARCHAR(60) NOT NULL,
phone VARCHAR(16) NOT NULL CHECK (phone LIKE '+[1-9]-[1-9][0-9][0-9]-[0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]')
);
выдает ошибку в ограничении телефона, в чем проблема подскажите пожалуйста
Это storage engine в терминах mysql. Ставится из коробки, но может и отсутствовать или быть выключенным. И должен быть явно указан или в конфиге или при create table, иначе будет использоваться что-нибудь другое, типа myisam. И innodb ещё единственный рабочий транзакционник в mysql.
Вообще странная штука этот mysql. Читайте внимательно мануал, там встречаются такие же сюрпризы "is parsed but ignored" (ещё один как раз про FK), неявный коммит банально на вызов хранимки и прочие порой очень удивительные вещи.
Большие базы в mysql тоже встречаются. Лично щупал только довольно маленькую базу, гигов на 20-30. У mailru года два назад, помнится, были базы по 1,5тб в mysql. Как-то справлялись.
Сейчас да, я с postgresql. Тут уже базу на 1,2тб лично пощупать довелось.