#mysql #sql #foreign-keys
#mysql #sql #внешние ключи
Вопрос:
Пытаюсь понять, в чем проблема с добавлением внешнего ключа в таблицу агентов. Я получаю сообщение об ошибке «Идентификатор свойства не существует в таблице». Вот соответствующий код:
CREATE TABLE Properties (
PropertyID INT(8),
Address VARCHAR(50) NOT NULL,
Level TINYINT(1) NOT NULL,
PropertyValue INT(10) NOT NULL,
CONSTRAINT PRIMARY KEY (PropertyID)
);
CREATE TABLE Agents (
AgentID INT(8) AUTO_INCREMENT,
FirstName VARCHAR(50) NOT NULL,
LastName VARCHAR(50) NOT NULL,
PropertiesManaged VARCHAR (50) NOT NULL,
PhoneNumber VARCHAR (12),
CONSTRAINT PRIMARY KEY (AgentID),
CONSTRAINT PropertiesManaged FOREIGN KEY (PropertyID) REFERENCES Properties (PropertyID)
);
Ответ №1:
Вы должны определить столбец:
CREATE TABLE Agents (
AgentID INT(8) AUTO_INCREMENT,
FirstName VARCHAR(50) NOT NULL,
LastName VARCHAR(50) NOT NULL,
PropertiesManaged VARCHAR (50) NOT NULL,
PhoneNumber VARCHAR (12),
PropertyId INT(8),
----^
CONSTRAINT PRIMARY KEY (AgentID),
CONSTRAINT PropertiesManaged FOREIGN KEY (PropertyID) REFERENCES Properties (PropertyID)
);