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
vancho avatar vancho 430 Точки

Първо инсертни towns и после minions. Искаш да дадеш id на град а нямаш таблица още.

3
12/01/2017 17:25:39
stoyan.grigorov avatar stoyan.grigorov 37 Точки

Защото се опитваш да създадеш нещо в минионс което има връзка с референтен ключ в Towns преди да си направил каквито и да е въведения там.

 

Първо градовете после Минионите.

3
sly_racoon88 avatar sly_racoon88 10 Точки

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

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

 

Invalid object name 'Minions'.

 

Whyyy?? :D

0
stoyan.grigorov avatar stoyan.grigorov 37 Точки

Виж дали горе си избрал правилната база. Трябва да е Минионс

0
sly_racoon88 avatar sly_racoon88 10 Точки

Judge ми дава това, иначе в Management Studio си е О.К.

0
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
Stephen avatar Stephen 3 Точки
Minions се ревърва от Towns,защото взима информацията оттам от колона Id.
Затова първо инсъртни стойностите в таблица Towns първо.
0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.