mysql - Сбой ограничения внешнего ключа - PullRequest
0 голосов
/ 12 февраля 2019

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

INSERT INTO phone_numbers (phone_number) VALUES ('226');

Я получаю ошибку:

ОШИБКА 1452 (23000): невозможно добавить или обновить дочернюю строку: ограничение внешнего ключа не выполняется (week7. phone_numbers, CONSTRAINT phone_numbers_ibfk_1 FOREIGN KEY (user_id) ССЫЛКИ users (id))

DDL КОД НИЖЕ:

create table users (
  id int unsigned not null auto_increment,
  name varchar(100) not null,
  primary key(id)
);

INSERT INTO users (name) VALUES ('alex');


create table phone_numbers (
  id int unsigned not null auto_increment,
  user_id int unsigned not null,
  phone_number varchar(25) not null,
  primary key(id),
  foreign key (user_id) references users (id)

);

 INSERT INTO phone_numbers (phone_number) VALUES ('226');

1 Ответ

0 голосов
/ 12 февраля 2019

, так как в вашем поле user_id нет значения по умолчанию, поэтому выдается ошибка, как показано ниже, ваша вставка будет работать

INSERT INTO phone_numbers (user_id,phone_number) VALUES (1,'226');
...