blöderidiot
Captain
- Registriert
- Juni 2004
- Beiträge
- 3.880
Liebe Mistreiter,
da ich nach langer Zeit wieder mal was mit SQL zu machen habe und weiss, dass sich hier im Forum Leute tummeln, die schon mal diese drei Buchstaben gehört haben, möchte ich gerne eine Frage stellen. Soweit habe ich alles hinbekommen - ausser ein kombiniertes Update mit Select auf Fremdtabelle. Also mache ich erst den Select und dann mit dem Ergebnis das Update (MySQL/MariaDB). Involviert sind zwei Tabellen, einmal "location" und einmal "person". Aus einer Anwendung (vor dem ersten Select) bekomme ich "lid" (ASCII, für location) "uid" (ASCII, für person). Nun gehört aber zu "person" eine "location_id", welche den Primärschlüssel ("id", Int) für "location" enthält. Also gehe ich in einen Select, um "id" aus "lid" zu erhalten:
um dann in der Anwendung die erhaltene, zu "lid" gehörige "id" nach dem Fetch abzuspeichern:
um dann damit die "person" mit "uid" mit diesem "id" upzudaten:
Aber dass muss doch ganz einfach gehen. Ich komm' nur nicht drauf.
Danke schonmal!
da ich nach langer Zeit wieder mal was mit SQL zu machen habe und weiss, dass sich hier im Forum Leute tummeln, die schon mal diese drei Buchstaben gehört haben, möchte ich gerne eine Frage stellen. Soweit habe ich alles hinbekommen - ausser ein kombiniertes Update mit Select auf Fremdtabelle. Also mache ich erst den Select und dann mit dem Ergebnis das Update (MySQL/MariaDB). Involviert sind zwei Tabellen, einmal "location" und einmal "person". Aus einer Anwendung (vor dem ersten Select) bekomme ich "lid" (ASCII, für location) "uid" (ASCII, für person). Nun gehört aber zu "person" eine "location_id", welche den Primärschlüssel ("id", Int) für "location" enthält. Also gehe ich in einen Select, um "id" aus "lid" zu erhalten:
SQL:
SELECT
l.id, l.lid
FROM location l
WHERE l.lid = "$lid"
$id = $row[0]
um dann damit die "person" mit "uid" mit diesem "id" upzudaten:
SQL:
UPDATE person
SET person.location_id = $id
WHERE person.uid = "$uid"
Danke schonmal!