Я пытаюсь заполнить столбец внешнего ключа 'boss_id' из соединительной таблицы с именем 'clown_boss'. Boss_id - это новый внешний ссылающийся на себя внешний ключ, который предназначен для хранения значения 'id' босса клоуна. У меня уже есть заполненная таблица соединений, которая содержит 'id' из таблицы clown_info и недавно созданный 'boss_id', который также ссылается на 'id' из клоуна.
Вот как выглядит clown_info:
CREATE TABLE clown_info
(
id
int NOT NULL AUTO_INCREMENT,
name
varchar (50) DEFAULT NULL,
gender
char (1) DEFAULT NULL ,
last_seen
varchar (50) DEFAULT NULL,
address
varchar (30) DEFAULT NULL,
city
varchar (30) DEFAULT NULL,
state
char (2) DEFAULT NULL,
appearance
varchar (50) DEFAULT NULL,
shirt_colour
varchar (20) DEFAULT NULL,
pant_colour
varchar (20) DEFAULT NULL,
hat_type
varchar (20) DEFAULT NULL,
musical_instrument
varchar (20) DEFAULT NULL,
transportation
varchar (20) DEFAULT NULL,
boss_id
int NOT NULL,
ПЕРВИЧНЫЙ КЛЮЧ (id
),
КЛЮЧ boss_id_sr_fk
(boss_id
), CONSTRAINT boss_id_sr_fk
ИНОСТРАННЫЙ КЛЮЧ (boss_id
) ССЫЛКИ clown_boss
(boss_id
)
) ДВИГАТЕЛЬ = В noDB AUTO_INCREMENT = 15 CHARSET ПО УМОЛЧАНИЮ = utf8mb4 COLLATE = utf8mb4_0900_ai_ci
Я использую следующий код, чтобы попытаться вставить значения, когда получаю ошибку
UPDATE clown_info ci
SET boss_id = (SELECT boss_id FROM clown_boss cb WHERE ci.id = cb.id) ;
, поэтому я только что понял, что boss_id предназначен для ссылки на идентификатор в той же таблице. Предполагается, что это будет урок по самостоятельным ссылкам на внешние ключи. поэтому я уронил колонку, воссоздал ее. воссозданный clown_boss вставил значения и все еще сталкивается с той же проблемой при попытке поместить значения в boss_id из таблицы clown_boss