Несоответствия типов в INSERT
В настоящее время инструкция INSERT дает ошибку только при вставке пустого указателя (NULL) в не пустой столбец.
При использовании INSERT или команды, которая может воздействовать на много записей, выполняется следующее:
- Значения преобразуются в правый тип (от integer/real/string до integer/real/string) перед сохранением.
- Слишком длинные строки усекаются, и увеличивается значение переменной 'warnings'.
- Если значение ниже минимального значения для столбца, минимальное значение вставляется, и увеличивается значение переменной 'warnings'.
- Если значение выше максимального значения для столбца, максимальное значение вставляется, и увеличивается значение переменной 'warnings'.
- При преобразовании строки в целое число, значение усекается при первой не-цифре. Если в строке есть какой-либо символ, не являющийся цифрой, то увеличивается значение переменной 'warnings'.
- При преобразовании строки в число с плавающей точкой увеличивается значение переменной 'warnings', если после целого числа есть какие-либо символы, кроме точки.
Во время связи клиента с сервером 'warnings information' возвращается только при использовании 'ALTER TABLE' или 'LOAD DATA FROM...'.