/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
Primærnøgle.
Fra : msc


Dato : 06-05-04 15:13

Jeg er ny i MySQL og prøver at lave en database i MySQL.

Jeg har en tabel "postnr" som indeholder "postnummer" "bynavn" og en
tabel "bruger" som indeholder bla. "navn", "adresse", "postnummer" osv.
Tabellerne connectes med "postnummer" som fremmednøgle i "bruger" og som
primærnøgle i "postnr".
Jeg vil gerne ha "postnummer" som primærnøgle i tabellen "postnr" og har
sat den således:

CREATE TABLE postnr (postnummer SMALLINT PRIMARY KEY, bynavn CHAR(60)
NOT NULL);

Men der opstår problemer i og med at jeg ikke kan lave forespørgsler som
inkluderer begge tabeller?

Skal jeg på en måde deklarere primærnøglen i "postnr" anderledes?

/msc

 
 
Peter Brodersen (06-05-2004)
Kommentar
Fra : Peter Brodersen


Dato : 06-05-04 15:16

On Thu, 06 May 2004 16:12:48 +0200, msc <spam@dotcph.dk> wrote:

>Men der opstår problemer i og med at jeg ikke kan lave forespørgsler som
>inkluderer begge tabeller?

Hvordan kommer disse problemer til udtryk? Får du en fejl?

Et gæt i tågen er, at du et sted blot refererer til "postnummer", uden
explicit at angive fra hvilken tabel, der skal kigges i (fx
postnr.postnummer).

--
- Peter Brodersen

Ugens sprogtip: "Der er et yndigt land" (og ikke "Det er et yndigt land")

msc (06-05-2004)
Kommentar
Fra : msc


Dato : 06-05-04 15:22

Peter Brodersen wrote:

>
> Hvordan kommer disse problemer til udtryk? Får du en fejl?
>

Jeg får denne fejlmeddelelse:

mysql> SELECT fornavn, efternavn, adresse, postnummer, bynavn, FROM
bruger, postnr, WHERE bruger.postnummer = postnr.postnummer;

ERROR 1064 (42000): You have an error in your SQL syntax. Check the
manual that corresponds to your MySQL server version for the right
syntax to use near 'FROM bruger, postnr, WHERE bruger.postnummer =
postnr.postnummer' at line 1

/msc

JMo. (06-05-2004)
Kommentar
Fra : JMo.


Dato : 06-05-04 15:45

msc wrote:

> Jeg får denne fejlmeddelelse:
>
> mysql> SELECT fornavn, efternavn, adresse, postnummer, bynavn, FROM
> bruger, postnr, WHERE bruger.postnummer = postnr.postnummer;
>
> ERROR 1064 (42000): You have an error in your SQL syntax. Check the
> manual that corresponds to your MySQL server version for the right
> syntax to use near 'FROM bruger, postnr, WHERE bruger.postnummer =
> postnr.postnummer' at line 1

Fjern komma'et mellem postnr og WHERE

Henrik Stidsen (06-05-2004)
Kommentar
Fra : Henrik Stidsen


Dato : 06-05-04 15:49

"JMo." <ns_sf012@mohr.cx.invalid> wrote in
news:Xns94E1AA6731922JMoUsenetPost@212.54.64.149

> Fjern komma'et mellem postnr og WHERE

OG mellem bynavn og FROM

--
..: Henrik Stidsen - http://hs235.dk/blog/ ::...
'Veni, Vidi, Velcro' - I came, I saw, I stuck around.

msc (06-05-2004)
Kommentar
Fra : msc


Dato : 06-05-04 15:50

JMo. wrote:

> Fjern komma'et mellem postnr og WHERE

Hehe, der var komma fejl 2 steder. Men men men, det hjalp ikke. Nu får jeg:

ERROR 1052 (23000): Column: 'postnummer' in field list is ambiguous

Når jeg prøver med:

SELECT fornavn, efternavn, adresse, postnummer, bynavn FROM
bruger, postnr WHERE bruger.postnummer = postnr.postnummer;

/msc

JMo. (06-05-2004)
Kommentar
Fra : JMo.


Dato : 06-05-04 15:55

msc wrote:

> Hehe, der var komma fejl 2 steder. Men men men, det hjalp ikke. Nu får
> jeg:
>
> ERROR 1052 (23000): Column: 'postnummer' in field list is ambiguous
>
> Når jeg prøver med:
>
> SELECT fornavn, efternavn, adresse, postnummer, bynavn FROM
> bruger, postnr WHERE bruger.postnummer = postnr.postnummer;

Yep.

Du fortæller ikke om du vil have bruger.postnummer eller postnr.postnummer.

SELECT fornavn, efternavn, adresse, postnr.postnummer AS postnummer, bynavn
FROM bruger, postnr WHERE bruger.postnummer = postnr.postnummer;


msc (06-05-2004)
Kommentar
Fra : msc


Dato : 06-05-04 16:06

JMo. wrote:

> Yep.
>
> Du fortæller ikke om du vil have bruger.postnummer eller postnr.postnummer.
>
> SELECT fornavn, efternavn, adresse, postnr.postnummer AS postnummer, bynavn
> FROM bruger, postnr WHERE bruger.postnummer = postnr.postnummer;
>

Det hjalp

Tusind tak for den hurtige hjælp!! Det kan være jeg får brug for jer et
par gange endnu.

/msc

Claus Abildgaard Chr~ (06-05-2004)
Kommentar
Fra : Claus Abildgaard Chr~


Dato : 06-05-04 15:57

msc wrote:
> JMo. wrote:
>
>> Fjern komma'et mellem postnr og WHERE
>
>
> Hehe, der var komma fejl 2 steder. Men men men, det hjalp ikke. Nu får jeg:
>
> ERROR 1052 (23000): Column: 'postnummer' in field list is ambiguous
>
> Når jeg prøver med:
>
> SELECT fornavn, efternavn, adresse, postnummer, bynavn FROM
> bruger, postnr WHERE bruger.postnummer = postnr.postnummer;
>
> /msc

Det er fordi postnummer findes i både bruger og i postnr tabellerne. Du
skal angive hvilken af dem du vil have.

SELECT fornavn, efternavn, adresse, bruger.postnummer, bynavn FROM
bruger, postnr WHERE bruger.postnummer = postnr.postnummer;



--
Claus Abildgaard Christensen
http://abildgaard.de/

Søg
Reklame
Statistik
Spørgsmål : 177472
Tips : 31964
Nyheder : 719565
Indlæg : 6408315
Brugere : 218882

Månedens bedste
Årets bedste
Sidste års bedste