Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Проверка при добавлении строки / 5 сообщений из 5, страница 1 из 1
09.07.2014, 23:14:43
    #38692477
alexnews
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка при добавлении строки
Проблема: При занесении строчки не соответствующей условию enum, происходит добавление пустой строчки хотя стоит условие NOT NULL, можно ли этого избежать?

Пример:

Код: plsql
1.
CREATE TABLE testforme (id int(7) NOT NULL,val VARCHAR(50) NOT NULL CHECK (val<>'')) ENGINE=InnoDB;


так же пробовал
Код: plsql
1.
CREATE TABLE testforme (id int(7) NOT NULL,val VARCHAR(50) NOT NULL CHECK (LENGTH(val)>1)) ENGINE=InnoDB;



добавляю пустую строчку все добавляется, а хотелось бы получать ошибку
...
Рейтинг: 0 / 0
09.07.2014, 23:37:56
    #38692499
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка при добавлении строки
CHECK в MySQL не выполняется. Синтаксис принимается, но по факту не работает. Это документированная фича.



http://dev.mysql.com/doc/refman/5.5/en/enum.html If strict SQL mode is enabled, attempts to insert invalid ENUM values result in an error.
...
Рейтинг: 0 / 0
10.07.2014, 00:08:53
    #38692523
alexnews
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка при добавлении строки
miksoft,

спасибо убедился очередной раз. Других способов проверки нет?
...
Рейтинг: 0 / 0
10.07.2014, 01:00:32
    #38692547
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка при добавлении строки
alexnewsДругих способов проверки нет?Еще можно посмотреть, что в триггер прилетает. Если там еще исходное значение, то его можно проверить на корректность. Но смысла в таком не вижу, strict SQL mode видится мне намного более оптимальным.
...
Рейтинг: 0 / 0
10.07.2014, 01:05:11
    #38692550
alexnews
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка при добавлении строки
спасибо большое
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Проверка при добавлении строки / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]