Databasfråga

B

Benzen

Jag försöker skapa tabeller för att hantera resultat. Jag har gjort en tabell som heter Tavling och som består av Id, namn på tävlingen och typ av tävling. Nu försöker jag skapa en tabell som heter Resultat och som jag vill ska ha ett ResultatID samt Id:t från tävlingstabellen (plus lite annat).

I Tabell har jag satt Id som primary key och auto_increment. I Resultat vill jag göra samma sak på ResultatID. Så långt allt väl. Problemet kommer nu när jag ska lägga in värden. Databasen klagar och säger att jag inte får ha dubbla värden... ResultatID=1 och TävlingsID=1. Men jag måste ju kunna få in vilken tävling resultatet hänvisar till... Jag inser att jag tänker helt fel här men undrar hur man ska lösa det på bästa sätt? Vilka värden skulle ni satt? Eller får jag lösa det genom att börja indexera resultaten på 100 och uppåt?

Lite hjälp uppskattas... :)
 
Sv: Databasfråga

mySQL är språket för att prata med databasen.

Alltså, igår fick jag tipset om att det sedvanliga var att skapa en tabell Tävling och en tabell Resultat. Genom att lägga in unika IDn för alla tävlingar och låta dem vara ett ID i Resultattabellen så blir det lätt att hantera. Men jag behöver även ID till resultaten, som jag förstår. Och där verkar det bli en krock.

Nedan är alltså tanken att RId hör till Resultattabellen medan Id är länkat till tabellen Tavling. Hänger du med?


Fel

SQL-fråga :

INSERT INTO `Resultat` ( `RId` , `Id` , `PNamn` , `S1` , `M1` )
VALUES (
'1', '1', 'Person Namn', '5', '2'
);

MySQL sa:

Duplicate entry '1' for key 1
 
Sv: Databasfråga

Hmm kanske typ såhär


CREATE TABLE `test` (
`RId` INT NOT NULL AUTO_INCREMENT ,
`id` INT NOT NULL ,
`PNamn` TEXT NOT NULL ,
`S1` INT NOT NULL ,
`M1` INT NOT NULL ,
UNIQUE (
`RId`
)
) CHARACTER SET = latin1;


RId=Blir unikt
Detta är vad jag kommer snabbt ihåg så det kansek är inte så du är ute efter?
 
Sv: Databasfråga

Nu har jag ändrat alla inställningar och RId är unikt och allt är satt som NOT NULL enligt det du skrev. Men fortfarande får jag samma problem när jag ska lägga till värden i tabellen. Den säger alltså Duplicate entry '1' for key 1 och jag förstår inte vad den menar? Nu testade jag med flera olika värden och tog jag lite högre tal så var det ok. Men varför får jag inte ta RId = 1? Blir det en krock med tabell Tavling som har Id = 1 redan?
 
Sv: Databasfråga

Nja RId ska vara tomt eftersom det är databasen som fyller i den själv.
Den räknar alltså så den kollar var den förra hade för nummer och lägger till.

Typ har den förra RId = 14 så får den nästa automatisk RId=15 osv..

Så när du hör en insert så lämna RId utanför
 
Sv: Databasfråga

Problemet löst. Jag var oerhört ouppmärksam på att det låg ett fält i databasen redan med värde 1. Alltså lät den inte mig lägga till fler med det värdet när jag fipplade direkt i databasen. Så nu är det bara att jag fortsätter som vanligt att lägga till så ska det nog bli rätt. Tack ändå!
 
Sv: Databasfråga

Som sagt krävs unikt nummer och då kör jag alltid med räknare fungerar väldigt bra och smidigt.

Bra att det löste sig för dig.
 

Liknande trådar

Hundhälsa Hej, vi har en Lhasa appso hane som är 12 år. För ca 4 månader sedan fick han problem med kräkningar och lös mage. Veterinären...
Svar
0
· Visningar
668
Trav Vi skulle ju inte betäcka i år... Nu står vi med tre ston som högst troligt ska bli betäckta. Trots allt.... HJÄLP OCH FUNDERINGAR...
Svar
0
· Visningar
1 267
Senast: Cambrie
·
Hästvård Varning.. Bilder längst ner som kanske kan vara äckliga/obehagliga för någon? Skitlångt.. Jag behöver mest skriva av mig men har även...
2
Svar
28
· Visningar
14 193
Senast: Summerwind
·
Hästvård Min häst har varit skadad sedan Juni förra året. En av världens bästa veterinärer+ 2 andra har tittat på honom och behandlat honom. Så...
3 4 5
Svar
82
· Visningar
11 200
Senast: Siluett
·

Bukefalos, Hästnyheter, Radannonser

Allmänt, Barn, Dagbok

Hund, Katt, Andra Djur

Hästrelaterat

  • Wobbi stövlar
  • Dressyrsnack 17
  • Ridskoleryttare

Omröstningar

  • Tvättstugedrama
Tillbaka
Upp