Vinnaren i pepparkakshustävlingen!
2012-02-02, 19:04
  #1
Medlem
Krim1s avatar
Håller för tillfället på med en databas, med ca 10 tabeller.

Dock får jag error #1452 när jag försöker koppla foreign keys till primary keys.

Har en tabell där t.ex. PaymentID ligger som foreign key, och i den tabellen där den är primary så finns enbart 3 rows med olika värden.

När jag nu försöker koppla foreign keyn till primary keyn så kommer detta error. Funktionen som relationen ska stå för är att man ska kunna välja mellan 3 olika betalningssätt, när man fyller i ny information i Ordertabellen, de värden som finns i payment-tabellen.

Varför i hela helvete får jag detta error? : (
Min polare som håller på med samma sak får detta error på ALLA sina relationer, det går alltså inte att skapa några alls.
Jag har lyckats få en annan relation att fungera, där förutsättningarna är PRECIS samma som för denna relationen.
CustomerID går att få upp och välja utan problem, men Payment vägrar fungera.
Foreign keys är satta till "Index" och primary keys till primary självklart.

Hittar fan ingen vettig information alls när jag googlar, är helt lost.

PS. Jag sitter inte och kodar någonting fritt, utan kör allting via Phpmyadmin och dess funktioner DS.

Är det något ni undrar över så är det bara att fråga!

Några idéer?
Citera
2012-02-02, 19:17
  #2
Moderator
Protons avatar
Har du alltså redan data i dina tabeller, och jag antar att det är MySQL du kör?
Citera
2012-02-02, 19:22
  #3
Moderator
Protons avatar
Är det nåt av betalningssätten i dina transaktioner som refererar till ett betalnningssätt som inte finns registrerat tro?

Hjälper den här?
http://forums.mysql.com/read.php?22,...080#msg-220080
Citera
2012-02-02, 20:03
  #4
Medlem
Krim1s avatar
Citat:
Ursprungligen postat av Proton
Är det nåt av betalningssätten i dina transaktioner som refererar till ett betalnningssätt som inte finns registrerat tro?

Hjälper den här?
http://forums.mysql.com/read.php?22,...080#msg-220080

Alltså, databasen kommer inte användas i något system, utan den ska bara fungera internt.
Förstår inte riktigt hur data skulle kunna vara invalid :S

Jag har payment types Cash, Credit card och en till. Det enda jag vill kunna göra är att i Order-tabellen välja en av dessa, genom att välja paymentID(då dessa är kopplat till varsitt paymentID).

Inget konstigt alls tycker jag, men det vill ju inte.

Vilken typ av data skulle kunna vara invalid?


EDIT: Fattade precis vad problemet var!! Tack för hjälpen.
__________________
Senast redigerad av Krim1 2012-02-02 kl. 20:26.
Citera
2012-02-02, 21:25
  #5
Moderator
Protons avatar
Citat:
Ursprungligen postat av Krim1
Alltså, databasen kommer inte användas i något system, utan den ska bara fungera internt.
Förstår inte riktigt hur data skulle kunna vara invalid :S

Jag har payment types Cash, Credit card och en till. Det enda jag vill kunna göra är att i Order-tabellen välja en av dessa, genom att välja paymentID(då dessa är kopplat till varsitt paymentID).

Inget konstigt alls tycker jag, men det vill ju inte.

Vilken typ av data skulle kunna vara invalid?


EDIT: Fattade precis vad problemet var!! Tack för hjälpen.
Så vari lög lösningen då? Det var troligen nån slags datainkonsistens som gjorde det, men vad var det exakt?
Citera
2012-02-02, 23:54
  #6
Medlem
Krim1s avatar
Citat:
Ursprungligen postat av Proton
Så vari lög lösningen då? Det var troligen nån slags datainkonsistens som gjorde det, men vad var det exakt?

PaymentID hade ju värdet 0 i alla rows i order efter att jag lagt till foreign keyn. Så fick gå in och ändra till ett lämpligt värde manuellt, och sedan skapa relationen.
Citera
2012-02-03, 06:45
  #7
Moderator
Protons avatar
Citat:
Ursprungligen postat av Krim1
PaymentID hade ju värdet 0 i alla rows i order efter att jag lagt till foreign keyn. Så fick gå in och ändra till ett lämpligt värde manuellt, och sedan skapa relationen.
Ok, det var med andra ord dina transaktioner som hade betalningssätt som inte fanns
Citera
2012-02-10, 01:37
  #8
Medlem
Krim1s avatar
Citat:
Ursprungligen postat av Proton
Ok, det var med andra ord dina transaktioner som hade betalningssätt som inte fanns

Haha ja, men förstod inte riktigt vad det innebar i praktiken när du nämnde det
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