Строгая проверка данных с помощью MySQL

#mysql #sql #mysql-workbench

#mysql #sql #mysql-workbench

Вопрос:

Я работаю с MySQL Workbench, и я заметил, что моя таблица принимала практически любые значения без выполнения какой-либо проверки данных. Установка для sql_mode значения «STRICT_ALL_TABLES» решила большинство моих проблем.

Однако, когда я вставляю значение с плавающей запятой в столбец integer, значение округляется до ближайшего int.

Мой вопрос: есть ли способ заставить MySQL Workbench выдавать ошибку вместо выполнения операции округления?

Спасибо!

Ответ №1:

Это дилемма дизайна между тем, чтобы быть дружелюбным и делать то, что вы имеете в виду, или быть занозой в заднице и заставлять вас работать усерднее.

Если такая проверка ценна, добавьте внешний интерфейс, который выполняет проверки такого рода, включая проверку между полями и перекрестными таблицами. Пока вы этим занимаетесь, любезно предложите значения полей из корреляции с историческими значениями и т.д.

Комментарии:

1. Да, я думал об этом. Дело в том, что приложение, которое я разрабатываю, будет вызываться много сотен раз в секунду, поэтому выполнение такого рода «тяжелой» проверки на самом деле не вариант. Значит, нет собственного способа выполнить такую проверку с помощью MySQL Workbench?