#mysql #sql #mysql-workbench
#mysql #sql #mysql-workbench
Вопрос:
Я работаю с MySQL Workbench, и я заметил, что моя таблица принимала практически любые значения без выполнения какой-либо проверки данных. Установка для sql_mode значения «STRICT_ALL_TABLES» решила большинство моих проблем.
Однако, когда я вставляю значение с плавающей запятой в столбец integer, значение округляется до ближайшего int.
Мой вопрос: есть ли способ заставить MySQL Workbench выдавать ошибку вместо выполнения операции округления?
Спасибо!
Ответ №1:
Это дилемма дизайна между тем, чтобы быть дружелюбным и делать то, что вы имеете в виду, или быть занозой в заднице и заставлять вас работать усерднее.
Если такая проверка ценна, добавьте внешний интерфейс, который выполняет проверки такого рода, включая проверку между полями и перекрестными таблицами. Пока вы этим занимаетесь, любезно предложите значения полей из корреляции с историческими значениями и т.д.
Комментарии:
1. Да, я думал об этом. Дело в том, что приложение, которое я разрабатываю, будет вызываться много сотен раз в секунду, поэтому выполнение такого рода «тяжелой» проверки на самом деле не вариант. Значит, нет собственного способа выполнить такую проверку с помощью MySQL Workbench?