Hur uppdaterar man samma värde på flera ställen i en tabell?

Forumet för dej som vill diskutera MySQL, Oracle och andra databaser till UNIX / Linux.
Post Reply
greenboy
Posts: 118
Joined: 10 March 2003, 13:59

Hur uppdaterar man samma värde på flera ställen i en tabell?

Post by greenboy » 18 March 2005, 14:29

Det finns likadana värden i flera rader i en tabell i MySQL. När ett värde i en rad uppdateras, så vill man att dom andra värden, som har anknytning till det värdet också skall uppdateras automatiskt. Hur görs detta?

User avatar
drbrno
Posts: 2834
Joined: 6 October 2002, 05:01
Location: Lund
Contact:

Post by drbrno » 18 March 2005, 15:48

Ditt problem är troligtvis att du har redundans i din tabell. Du har värden som inte bara är lika, de är samma värde. Du borde kanske tänka om din design.

Eller så använder du SQL och skriver: UPDATE ... SET ... WHERE

greenboy
Posts: 118
Joined: 10 March 2003, 13:59

Post by greenboy » 20 March 2005, 16:17

Jag försöka ge ett exempel hur jag menar

Code: Select all

Namn Tel     ID-nummer 
Kalle   3333  1 
Pelle   5555  2 
Ville    7777  3 
Kalle   8888  4 
Om en rad som innehåller Kalle uppdateras, så vill man att den
andra raden som också innehåller Kalle uppdateras automatisk.
Hoppas det blev lite bättre förklarning. Går det att göra?

Lucifer888
Posts: 4111
Joined: 3 February 2003, 12:18
Location: Stockholm

Post by Lucifer888 » 20 March 2005, 16:20

Code: Select all

UPDATE tabell_tele SET Tel="xxxx" WHERE Namn="Kalle"
Ser dock konstigt ut, jag skulle hellre ha en tabell över namn och länka den till en tabell med telefonnummer typ:

Code: Select all

namn:
ID    NAMN
01    Kalle
02    Jonas
03    Joakim

tele:
ID   NAMN_ID  TELE
01     02     1111
02     03     2222
03     02     3333
04     01     4444
Kanske finns någon smidigare layout, men du förstår kanske vad jag menar. Update-funtionen fungerar fortfarande på samma sätt.

Code: Select all

UPDATE tele SET NAMN_ID="05" WHERE NAMN_ID="02"
"It's not that I hate people, I just think they're all idiots"
"Långt hår kräver mycket näring, framhålls det, och berövar hjärnan energi."

Post Reply