@delongeroman

Как связать ключ в таблицах?

Как мне сделать подстановку нескольких значений из одной таблицы в другую?
Paint
5f9b0c3d4842f203469321.png
  • Вопрос задан
  • 93 просмотра
Пригласить эксперта
Ответы на вопрос 1
IgorPI
@IgorPI
В таблице orders должен быть внешний ключ person_id который ссылается на таблицу person на первичный ключ.

Фактически это выглядит так
CREATE TABLE `persons` (
	`id` INT(10,0) NOT NULL AUTO_INCREMENT,
	`name` VARCHAR(255) NOT NULL COLLATE 'utf8mb4_0900_ai_ci',
	`phone` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8mb4_0900_ai_ci',
	PRIMARY KEY (`id`) USING BTREE
)
COLLATE='utf8mb4_0900_ai_ci'
ENGINE=InnoDB;


CREATE TABLE `orders` (
	`id` INT(10,0) NOT NULL AUTO_INCREMENT,
	`date` DATETIME NULL DEFAULT NULL,
	`person_id` INT(10,0) NOT NULL DEFAULT '0',
	`street` VARCHAR(255) NOT NULL DEFAULT '0' COLLATE 'utf8mb4_0900_ai_ci',
	`name` VARCHAR(255) NOT NULL DEFAULT '0' COLLATE 'utf8mb4_0900_ai_ci',
	`phone` VARCHAR(50) NOT NULL DEFAULT '0' COLLATE 'utf8mb4_0900_ai_ci',
	PRIMARY KEY (`id`) USING BTREE,
	INDEX `person_id` (`person_id`) USING BTREE,
	CONSTRAINT `FK1_OP` FOREIGN KEY (`person_id`) REFERENCES `rmok`.`persons` (`id`) ON UPDATE CASCADE ON DELETE CASCADE
)
COLLATE='utf8mb4_0900_ai_ci'
ENGINE=InnoDB;
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы