У меня в настоящее время есть таблица, в которой есть столбец null
, но при выполнении оператора вставки база данных MySQL выдает ошибку, которая говорит: #1048 - Column 'admi_name' cannot be null
.
Вот запрос таблицы:
drop table if exists `tbl__users`;
create table `tbl__users`(
`user_email` varchar(256) not null,
`user_last_name` varchar(256) not null,
...
`user_bank_iban` varchar(32) not null,
`admi_name` varchar(128) null, -- Admin that approved the account
constraint PK__USERS primary key (`user_email`),
constraint FK__USERS__ADMINS foreign key (`admi_name`) references `tbl__admins` (`admi_name`)
);
Выполнение инструкции вставки, где admi_name
равно нулю, выдает ошибку, что-то не так с тем, что я сделал?Этого не было раньше, так как я смог вставить значения, где admi_name
было нулевым, но затем внезапно MySQL сказал, что это неправильно.
Кроме того, я знаю, что типы данных столбцов неверны, не обращайте на это внимания прямо сейчас.
Я столкнулся с этой проблемой, когда вызвал хранимую процедуру с оператором вставки.Поскольку ошибка указывала на оператор вставки, я попытался выполнить запрос
insert into `tbl__users` (`user_email`,
`user_last_name`,
...,
`admi_name`) values ('john@doe.com', 'Doe', ... , null);
. Запрос по-прежнему выдает ошибку #1048 - Column 'admi_name' cannot be null
.До сих пор понятия не имею, что это за ошибка.
Странная вещь, с которой я столкнулся, заключается в том, что, если я добавлю действительное значение в admi_name
, то выполню запрос на обновление, изменив столбец admi_name
на null
,запрос проходит без ошибок.Я также безуспешно пытался повторить проблему на более простых схемах стола.