thank you for your time.
I am trying to build a database with with the following instructions
T1-Hotel (hotelNo, hotelName, city)
T2-Room (roomNo, hotelNo, type, price)
T3-Guest (guestNo, guestName, guestAddress)
T4-Booking (hotelNo, guestNo, dateFrom, dateTo, roomNo)
I get a Constraint duplication error but I cant tell there is a duplication in the schema.
CREATE TABLE `hotel_booking`.`Booking` (
`hotelNo` VARCHAR(5) NOT NULL,
`guestNo` VARCHAR(5) NOT NULL,
`datefFrom` DATE NOT NULL,
`dateTo` DATE NULL,
`roomNo` VARCHAR(5) NULL,
PRIMARY KEY (`hotelNo`, `guestNo`, `datefFrom`),
INDEX `guestNo_idx` (`guestNo` ASC) VISIBLE,
INDEX `roomNo_idx` (`roomNo` ASC) VISIBLE,
CONSTRAINT `hotelNo`
FOREIGN KEY (`hotelNo`)
REFERENCES `hotel_booking`.`Hotel` (`hotelNo`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `guestNo`
FOREIGN KEY (`guestNo`)
REFERENCES `hotel_booking`.`Guest` (`guestNo`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `roomNo`
FOREIGN KEY (`roomNo`)
REFERENCES `hotel_booking`.`Room` (`roonNo`)
ON DELETE NO ACTION
ON UPDATE NO ACTION);
I get the following error ERROR 1826: Duplicate foreign key constraint name ‘hotelNo’
What is wrong and how it can be corrected?
Coding that i used to altar my table and change it.
ALTER TABLE `the-challenge`.`klant`
ADD CONSTRAINT `resultaat`
FOREIGN KEY (`resultaatid`)
REFERENCES `the-challenge`.`resultaat` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION;
The results when trying to apply the code:
Operation failed: There was an error while applying the SQL script to the database.
Executing:
ALTER TABLE `the-challenge`.`klant`
ADD CONSTRAINT `resultaat`
FOREIGN KEY (`resultaatid`)
REFERENCES `the-challenge`.`resultaat` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION;
ERROR 1826: Duplicate foreign key constraint name ‘resultaat’
SQL Statement:
ALTER TABLE `the-challenge`.`klant`
ADD CONSTRAINT `resultaat`
FOREIGN KEY (`resultaatid`)
REFERENCES `the-challenge`.`resultaat` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION
Operation failed: There was an error while applying the SQL script to the database.
Executing:
ALTER TABLE `xq`.`manageinfo`
ADD CONSTRAINT `idmanagetype`
FOREIGN KEY (`idmanagetype`)
REFERENCES `xq`.`managetype` (`idmanagetype`)
ON DELETE NO ACTION
ON UPDATE NO ACTION;
ERROR 1826: Duplicate foreign key constraint name 'idmanagetype'
SQL Statement:
ALTER TABLE `xq`.`manageinfo`
ADD CONSTRAINT `idmanagetype`
FOREIGN KEY (`idmanagetype`)
REFERENCES `xq`.`managetype` (`idmanagetype`)
ON DELETE NO ACTION
ON UPDATE NO ACTION
1826 did not cancel the thread. …This one. .
Reason: It is because I have added a foreign key index named idmanagetype before. If it is repeated, it will report an error. I will add a 1 to the name and succeed.
ALTER TABLE `xq`.`manageinfo`
ADD INDEX `idmanagetype1_idx` (`idmanagetype` ASC) VISIBLE;
;
ALTER TABLE `xq`.`manageinfo`
ADD CONSTRAINT `idmanagetype1`
FOREIGN KEY (`idmanagetype`)
REFERENCES `xq`.`managetype` (`idmanagetype`)
ON DELETE NO ACTION
ON UPDATE NO ACTION;
GNOM003 0 / 0 / 0 Регистрация: 26.12.2019 Сообщений: 11 |
||||
1 |
||||
30.05.2020, 15:01. Показов 14156. Ответов 3 Метки нет (Все метки)
Импортировал модель БД в скрипт и тут такая ошибка: Executing SQL script in server
SQL script execution finished: statements: 10 succeeded, 1 failed Fetching back view definitions in final form.
0 |
411 / 365 / 142 Регистрация: 09.04.2011 Сообщений: 1,043 |
|
30.05.2020, 16:23 |
2 |
какая у вас версия mysql?
0 |
0 / 0 / 0 Регистрация: 26.12.2019 Сообщений: 11 |
|
30.05.2020, 16:41 [ТС] |
3 |
какая у вас версия mysql? 8.0
0 |
retvizan 411 / 365 / 142 Регистрация: 09.04.2011 Сообщений: 1,043 |
||||||||
30.05.2020, 18:13 |
4 |
|||||||
Решение уберите явное именование ограничения
нужно:
или вместо `aircraft_id` используйте уникальное имя в пределах базы
1 |
Operation failed: There was an error while applying the SQL script to the database.
Executing:
ALTER TABLE `xq`.`manageinfo`
ADD CONSTRAINT `idmanagetype`
FOREIGN KEY (`idmanagetype`)
REFERENCES `xq`.`managetype` (`idmanagetype`)
ON DELETE NO ACTION
ON UPDATE NO ACTION;
ERROR 1826: Duplicate foreign key constraint name 'idmanagetype'
SQL Statement:
ALTER TABLE `xq`.`manageinfo`
ADD CONSTRAINT `idmanagetype`
FOREIGN KEY (`idmanagetype`)
REFERENCES `xq`.`managetype` (`idmanagetype`)
ON DELETE NO ACTION
ON UPDATE NO ACTION
1826 г. — Нить не отменялась. …Вот этот. .
Причина: я уже добавлял индекс внешнего ключа с именем idmanagetype раньше. Если он будет повторяться, будет сообщено об ошибке. Я добавил 1 после имени и успешно.
ALTER TABLE `xq`.`manageinfo`
ADD INDEX `idmanagetype1_idx` (`idmanagetype` ASC) VISIBLE;
;
ALTER TABLE `xq`.`manageinfo`
ADD CONSTRAINT `idmanagetype1`
FOREIGN KEY (`idmanagetype`)
REFERENCES `xq`.`managetype` (`idmanagetype`)
ON DELETE NO ACTION
ON UPDATE NO ACTION;