Ниже мой SQL файл, и таблица не создается, когда я пытаюсь вставить более 1 внешних ключей в sql. Ошибка: "Внешнее ограничение ключа неверно сформировано
CREATE TABLE company_domaindetails (
domain_id int NOT NULL,
domain_name VARCHAR(200) NOT NULL,
domain_provider VARCHAR(200) NOT NULL,
domain_accoemail VARCHAR(200) NOT NULL,
domain_allopassword VARCHAR(200) NOT NULL,
domain_dns VARCHAR(200) NOT NULL,
domain_timeframe VARCHAR(200) NOT NULL,
domain_daysremaining VARCHAR(200) NOT NULL,
company_id int,
company_name varchar(200),
PRIMARY KEY (domain_id),
FOREIGN KEY (company_id) REFERENCES company_details(company_id),
FOREIGN KEY (company_name) REFERENCES company_details(company_id)
);
Из (теперь удаленных) комментариев:
CREATE TABLE company_details
(
company_id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
company_name VARCHAR(200) NOT NULL,
company_address VARCHAR(200),
company_contactperson VARCHAR(200),
company_contactno VARCHAR(200),
company_email VARCHAR(200)
);
Вы должны указать один раз, когда создаете ключ, и добавьте оба столбца. Проверьте ниже
CREATE TABLE company_details ( company_id int NOT NULL, company_name VARCHAR(200) NOT NULL,
company_address VARCHAR(200), company_contactperson VARCHAR(200),
company_contactno VARCHAR(200), company_email VARCHAR(200),
PRIMARY KEY (company_id,company_name) )
В соответствии с DDL вы предоставили и специфицировали имя таблицы как company_domaindetails
CREATE TABLE company_domaindetails (
domain_id int NOT NULL,
domain_name VARCHAR(200) NOT NULL,
domain_provider VARCHAR(200) NOT NULL,
domain_accoemail VARCHAR(200) NOT NULL,
domain_allopassword VARCHAR(200) NOT NULL,
domain_dns VARCHAR(200) NOT NULL,
domain_timeframe VARCHAR(200) NOT NULL,
domain_daysremaining VARCHAR(200) NOT NULL,
company_id int not null,
company_name varchar(200),
PRIMARY KEY (domain_id,company_name),
FOREIGN KEY (company_id,company_name) REFERENCES company_details(company_id,company_name)
)