Avatar billede starf Nybegynder
26. januar 2014 - 17:32 Der er 3 kommentarer og
1 løsning

vælge fra en tabel og ændre i en anden.

Jeg har 2 tabeller. Tabel 1 indeholder navn og status.
navn - navn id - status
mads - 23 - 5
børge - 24 - 1
kenth - 25 - 1

tabel 2:
navn id - aktiv
23 - 0
24 - 1
24 - 1

Hvordan vil man med php og mysql, vælge de steder hvor id = 1, sætte aktiv til 0 i nummer 2 tabel?
26. januar 2014 - 20:48 #1
Der er ikke i nogen af tabellerne et felt `id`.  Mener du, at hvor i tabel1 status = 1 skal i tabel2 aktiv sættes til 0?  I så fald, ikke testet:

UPDATE tabel2 JOIN tabel1 ON tabel2.navn_id = tabel1.navn_id SET aktiv = 0 WHERE status = 1.
Avatar billede starf Nybegynder
26. januar 2014 - 22:27 #2
korrekt ja.

en sidste ting, hvis tabellen ser sådan her ud:

navn - navn id - status
mads - 23 - 5
børge - 24 - 1
kenth - 25 - 1

tabel 2:
navn id - status
23 - 0
24 - 1
24 - 1

kan man så skrive:
UPDATE tabel2 JOIN tabel1 ON tabel2.navn_id = tabel1.navn_id SET tabel2.status = 0 WHERE tabel1.status = 1

er det lovligt?
27. januar 2014 - 05:03 #3
Ja, det er lovligt, og almindeligt, at skrive tabelnavnet sammen med feltet, såsom tabel1.status.  Det er også nødvendigt, hvis der indgår flere felter med samme navn, såsom hvor der er et felt status i begge tabeller.  Jeg undlod det i forbindelse med dit første eksempel, fordi felterne der havde forskellige navne, status og aktiv.
Avatar billede starf Nybegynder
27. januar 2014 - 09:26 #4
mange tak du har været en stor hjælp :)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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