#mysql #types #phpmyadmin #insert
#mysql #типы #phpmyadmin #вставить
Вопрос:
У меня есть столбец данных с целочисленным типом данных.
Когда я ввожу строковое значение, ошибки нет, и значение сохраняется '0'
.
Он не должен принимать это строковое значение.
Может кто-нибудь объяснить мне, почему это происходит?
INSERT INTO `student`(
`student_id`,
`first_name`,
`last_name`,
`roll_number`,
`gender`,
`date_of_birth`
)
VALUES('std-cs-19-009','f_name','last_name','String',1,1995-06-07)
Комментарии:
1. Какой столбец является целым числом? Пожалуйста, добавьте свое определение таблицы
2. номер рулона является целым числом, и я передаю ему строковое значение. и он хранит «0». без отображения ошибки
3. Выдается ошибка, если я использую прямую вставку, если я использую insert ignore, выдается предупреждение, и строка вставляется с 0 в roll_number,
4. СОЗДАЙТЕ ТАБЛИЦУ student (student_id INT(11), first_name CHAR(25), last_name CHAR(25), roll_number INT(11), gender BOOL(1), date_of_birth дата рождения (???) );
5. Это определение таблицы синтаксически неверно. — в mysql нет типа данных bool, и вы также ожидаете ошибку при вставке student_id, которая также вставляет строку в int.
Ответ №1:
Во время ВСТАВКИ MySQL не удалось вставить символьное значение в поле INT, поэтому он заменил его на 0 и вставил 0
Комментарии:
1. Привет, спасибо за ваш ответ. Но это не должно добавлять никакого значения. это должно привести к ошибке.это 0 создает проблемы с целостностью