Vinnaren i pepparkakshustävlingen!
2018-11-08, 15:25
  #1
Medlem
Tjena! Har ett litet projekt jag ska göra och då är första biten att handskas med databaser.
Jag vill länka ihop några stycken tables. jag kan skapa updatera ta bort ändra och så men jag kan inte länka ihop dom. Kan också Join commandona HELT OK.
För att göra det simpelt skapar jag en tabel med en column som har primary key tex ID
sen skapar jag ett till table med en column som har Foreign key..

Såhär ser min kod ut.
Jag har alltså två table med några columner och båda har då har varsin primary key i en av columnerna. I detta fall heter den id i skadespelare och id i filmer.
Men då jag försöker referera till dom får jag felmeddelandet failed to open referenced table
Vad gör jag fel?
Kod:
create table lanktabell(
id1 int 
id2 int ,
foreign key(id1references filmer(id),
foreign key(id2references skadespelare(id)); 
Citera
2018-11-08, 15:49
  #2
Medlem
Med tanke på din horribla stavning så har jag mina aningar om var problemet kan tänkas ligga.
Citera
2018-11-08, 20:15
  #3
Moderator
Protons avatar
Citat:
Ursprungligen postat av Douknowme
Tjena! Har ett litet projekt jag ska göra och då är första biten att handskas med databaser.
Jag vill länka ihop några stycken tables. jag kan skapa updatera ta bort ändra och så men jag kan inte länka ihop dom. Kan också Join commandona HELT OK.
För att göra det simpelt skapar jag en tabel med en column som har primary key tex ID
sen skapar jag ett till table med en column som har Foreign key..

Såhär ser min kod ut.
Jag har alltså två table med några columner och båda har då har varsin primary key i en av columnerna. I detta fall heter den id i skadespelare och id i filmer.
Men då jag försöker referera till dom får jag felmeddelandet failed to open referenced table
Vad gör jag fel?
Kod:
create table lanktabell(
id1 int 
id2 int ,
foreign key(id1references filmer(id),
foreign key(id2references skadespelare(id)); 
Felmeddelandet tyder på att du inte har alla tabeller på plats, du kan inte referera en tabell som inte finns.
Citera
2018-11-09, 08:43
  #4
Medlem
Citat:
Ursprungligen postat av DJ-Emerald
Med tanke på din horribla stavning så har jag mina aningar om var problemet kan tänkas ligga.

Det gav inte direkt någon hjälp
Citera
2018-11-09, 11:58
  #5
Medlem
Citat:
Ursprungligen postat av Proton
Felmeddelandet tyder på att du inte har alla tabeller på plats, du kan inte referera en tabell som inte finns.

haha ja fan vad dum jag är, jag hade fel databas selected som default
Daamn sorry, ha de så bra nu
Citera
2018-12-21, 21:32
  #6
Medlem
Tänkte bara spela allan och ge dig den databasen du försöker dig på....
Kod:
CREATE DATABASE [Barnförbjudna kulturfilmer];
GO
USE [Barnförbjudna kulturfilmer];
GO
CREATE TABLE Filmer
	(
		FilmID INT not null IDENTITY(1,1)
			CONSTRAINT pk_Filmer PRIMARY KEY CLUSTERED,
		Titel nvarchar(255) NOT NULL,
		Släppdatum date NOT NULL
	);
GO
CREATE TABLE Skådespelare
	(
		SkådespelarID INT not null IDENTITY(1,1)
			CONSTRAINT pk_Skådespelare PRIMARY KEY CLUSTERED,
		Namn nvarchar(255) NOT NULL,
		Födelsedatum date NOT NULL
	);
GO
CREATE TABLE Roller
	(
		FilmID INT not null
			CONSTRAINT fk_Film_Roll FOREIGN KEY REFERENCES Filmer(FilmID),
		SkådespelarID INT not null
			CONSTRAINT fk_Skådespelare_Roll FOREIGN KEY REFERENCES Skådespelare(SkådespelarID),
		Roll nvarchar(255) NOT NULL,
		[Dör i filmen] time(0)
			CONSTRAINT df_Roll_Dör_i_filmen DEFAULT ('00:00:00'),
		CONSTRAINT pk_Roller PRIMARY KEY CLUSTERED (FilmID, SkådespelarID) 
	);
GO


Kom ihåg att Microsoft SQL Server 2019 kommer snart och från v. 2017 finns Microsoft SQL Server även för Linux, och att Developer Edition är gratis. Och att du behöver tanka ner Microsoft SQL Server Management Studio i ett eget paket.
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback