Avatar billede Six Nybegynder
08. december 2004 - 22:45 Der er 17 kommentarer og
1 løsning

SQL vil ikke gøre som det skal.

Hej eksperter

Jeg sidder her og prøver at oprette en tabel i min database, men jeg får en fejl.. kan i se hvad der går galt?


create table "vare"
(
v_id int not null,
v_model varchar(100) not null,
v_beskr varchar(500),
v_pic_url varchar(250),
v_pris int not null,
kat_id int not null,
p_id int not null
primary key(v_id),
foreign key(kat_id) references kategori(kat_id),
foreign key(p_id) references producent(p_id)
);

Håber der er en der kan hjælpe :D
Avatar billede erikjacobsen Ekspert
08. december 2004 - 22:48 #1
Hvilket databasesystem? Hvilken fejl får du? Prøv at fortælle os nok til at vi kan hjælpe dig.

create table "vare"

skal nok være

create table vare

Og måske kan din varchar ikke være længere end 255.
Avatar billede Slettet bruger
08. december 2004 - 22:52 #2
Mon ikke også der mangler et , imellem disse 2 linier
p_id int not null
primary key(v_id),

så det skal være
p_id int not null,
primary key(v_id),
Avatar billede Six Nybegynder
08. december 2004 - 22:52 #3
Jeg bruger interbase, men jeg troede nu bare det var standard sql, derfor oprettede jeg den ikke under interbase.

Men min fejl er:

Dynamic SQL Error
SQL error code = -104
Token unknown - line 10, char 10
(
Statement: create table "vare"
(
v_id int not null,
v_model varchar(100) not null,
v_beskr varchar(500),
v_pic_url varchar(250),
v_pris int not null,
kat_id int not null,
p_id int not null
primary key(v_id),
foreign key(kat_id) references kategori(kat_id),
foreign key(p_id) references producent(p_id)
)

Og create table "vare" skal være med "", det har virket ved de andre tabeller jeg har oprettet ihvertfald.

håber det var informationer nok :D
Avatar billede Six Nybegynder
08. december 2004 - 22:53 #4
bertie - jo det er rigtigt, men det hjalp nu ikke noget :(
Avatar billede arne_v Ekspert
08. december 2004 - 22:54 #5
Du mangler et komma mellem disse 2 linier:

p_id int not null
primary key(v_id),
Avatar billede arne_v Ekspert
08. december 2004 - 22:54 #6
too late
Avatar billede Six Nybegynder
08. december 2004 - 22:56 #7
Ny fejl efter rettelse af komma:

Unsuccessful metadata update
could not find UNIQUE INDEX with specified columns
Statement: create table "vare"
(
v_id int not null,
v_model varchar(100) not null,
v_beskr varchar(500),
v_pic_url varchar(250),
v_pris int not null,
kat_id int not null,
p_id int not null,
primary key(v_id),
foreign key(kat_id) references kategori(kat_id),
foreign key(p_id) references producent(p_id)
)
Avatar billede arne_v Ekspert
08. december 2004 - 22:57 #8
Du skal formentligt have et unikt index på de fleter du bruger i foreign key !
Avatar billede arne_v Ekspert
08. december 2004 - 22:58 #9
felter
Avatar billede Six Nybegynder
08. december 2004 - 23:01 #10
Det kan jo ikke lade sig gøre, da de ikke er unikke.

min producenttabel

p_id | producent


Lad os sige der er 2 producenter. 1 producent kan jo godt høre til flere varer, og så vil man jo referere til det samme p_id 2 gange.
Avatar billede erikjacobsen Ekspert
08. december 2004 - 23:05 #11
Men et almindeligt index på kat_id og p_id vil nok hjælpe.
Avatar billede Six Nybegynder
08. december 2004 - 23:07 #12
altså nu er jeg sådan pænt ny i faget. hvordan ligger jeg index på dem? og skal det være index på dem, i de tabeller hvor de er primær nøgler ?
Avatar billede Six Nybegynder
08. december 2004 - 23:55 #13
ingen der kan hjælpe ?
Avatar billede erikjacobsen Ekspert
09. december 2004 - 09:26 #14
Der skal sikkert både være index på dem hvor de er fremmednøgler, og index hvor de
er. Jeg kender ikke Interbase, men du må kunne slå syntaksen op.
Avatar billede Six Nybegynder
09. december 2004 - 12:40 #15
Erikjacobsen. Dit første forslag var faktisk det rigtigte.. at vare skal være "vare" - MEN jeg mente helt bestemt at jeg havde afprøvet, hvor det ikke ville virke, så jeg tog på min skole idag, og fik løst problemet i samarbejde med min lærer.

Men da du ramte plet, får du point. Smider du lige et svar ? :D
Avatar billede Six Nybegynder
09. december 2004 - 12:41 #16
hov... Create table "vare" skal være create table vare
Avatar billede erikjacobsen Ekspert
09. december 2004 - 13:04 #17
Nej, tak, jeg samler slet ikke på point.
Avatar billede Six Nybegynder
09. december 2004 - 14:26 #18
Ok så lukker jeg spørgsmålet.

Takker for hjælpen til jer allesammen.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester