«Идентификатор свойства не существует в таблице

#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)    
);