Loading...
YordanDringov avatar YordanDringov 26 Точки

[Homework Data Definition and Data Types] Problem 4. Insert Records in Both Tables

Имам проблем при submit на заявката ми: 

INSERT INTO Minions(Id, Name, Age, TownId)
VALUES (1, 'Kevin', 22, 1),
(2,'Bob',15, 3),
(3,'Steward',NULL, 2)

INSERT INTO Towns (Id, Name)
VALUES(1,'Sofia'),
		(2,'Plovdiv'),
		(3,'Varna')

Получавам Compile Time Error 

The INSERT statement conflicted with the FOREIGN KEY constraint "FK_Minions_Towns". The conflict occurred in database "68ebb5c6-4283-45d9-a4a3-6adb9b27b13f", table "dbo.Towns", column 'Id'.
The statement has been terminated.

Как да премахна конфликта, идващ от Id на Towns?

0
Databases Basics
Bullsized avatar Bullsized 153 Точки

за да ти мине 1/1 в джъдж пиши това:

INSERT INTO Towns (Id, Name) VALUES
(1, 'Sofia'), 
(2, 'Plovdiv'), 
(3, 'Varna')

INSERT INTO Minions (Id, Name, Age, TownId) VALUES
(1, 'Kevin', 22, 1), 
(2, 'Bob', 15, 3), 
(3, 'Steward', NULL, 2)

но като цяло във MSSQL SMS работи и следното нещо, което идея си нямам що не го харесва джъджа:

INSERT INTO Towns(Name) VALUES
('Sofia'),
('Plovdiv'),
('Varna')
GO

INSERT INTO Minions(Name, Age, TownId) VALUES
('Kevin', '22', 1),
('Bob', '15', 3),
('Steward', '0', 2)
GO

 

-2
Supbads avatar Supbads 5 Точки

Изглежда джъдж изисква ние да набием ID-тата ръчно (в първите задачи никаде не пише за ауто инкремент). Предполагам това е причината това да е решението при което минава.

1
Bullsized avatar Bullsized 153 Точки

като цяло и доста народ във фейсбук групата е оревала арталъка за рази задача, условието е малко подвеждащо, трябва първо да се промени първо да се добавят градовете, а после минионите. но определено набиването на ид-тата ръчно не е "умния" начин...

-1
Supbads avatar Supbads 5 Точки

Това със реда на добавяне в този случай е правилно, тъй като няма как да направи Foreign Key референс-а ако не е написано по този начин.

1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.