Вставка данных с другим типом данных

#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 создает проблемы с целостностью