Sie sind nicht angemeldet.

  • Anmelden

1

07.07.2010, 16:03

php, mysql - problem

hey Leute, ich bin momentan leicht im Stress und muss hier was schnell in PHP machen, was ich vor drei Jahren in 2 Minuten gemacht hätte. Doch leider bin ich so ziemlich raus aus PHP und kriege hier eine Änderung in der Datennbank nicht hin.

Vielleicht hat einer 5 min Zeit und kann mit den code aufschreiben.
solange probiere ich mich zu erinnern.

es geht um:

mysql version 3.23
php version 4

tabelle 1 heisst "test" und hat zwei spalten "id" und "jnummer"

tabelle 2 heisst "kunde" und hat viele spalten. zwei davon sind aber mit den spalten "id" und "jnummer" aus der tabelle "test" identisch.

in tabelle 1 sind die aktuellen daten. ich will nun "test(id)" nehmen und dann bei "kunde(id)" die jeweilig dazu passende "jnummer" aktualisieren.

soll also:

für alle "test(id)" = "kunde(id)" --> kopiere "test(jnummer)" nach "kunde(nummer)".

das kann eigentlich nicht so schwer sein, aber ich kriegs net hin. brauche halt sql oder php-befehl.

wäre euch unglaublich dankbar.

2

07.07.2010, 16:16

Ich hoffe mal, deine MySQL-version kann Subselects. Wenn ja, kannst du ein einziges SQL-Statement absetzen:

Update Kunde k set jnummer = (select jnummer from test t where k.id = t.id)


Den PHP-Aufruf zum Ausführen der Query kannst ja woanders herkopieren oder du machst das im PhpMyAdmin


Edit: MySQL kann Subselect erst ab 4.1, naja dann musste dir was anderes überlegen :D

3

07.07.2010, 16:21

Zitat

Original von MaxPower
Ich hoffe mal, deine MySQL-version kann Subselects. Wenn ja, kannst du ein einziges SQL-Statement absetzen:

Update Kunde k set jnummer = (select jnummer from test t where k.id = t.id)


Den PHP-Aufruf zum Ausführen der Query kannst ja woanders herkopieren oder du machst das im PhpMyAdmin


Edit: MySQL kann Subselect erst ab 4.1, naja dann musste dir was anderes überlegen :D


eben kein Subselect ?(

4

07.07.2010, 18:49

Also zunächst mal:

ich habe noch nie etwas mit einer mysql gemacht eben weil sie nix kann, deswegen kann ich auch nicht sagen ob folgendes statement funktioniert ( update join )

Nachdem er oben aber geschrieben hat sie kann keine sub selects ( lol ) bezweifel ich es ein wenig :D


UPDATE KUNDE K
JOIN TEST T ON
T.ID = K.ID
SET K.NUMMER = T.JNUMMER

5

08.07.2010, 08:14

MySQL kann das mit dem Update-Join, aber ka seit welcher Version.

6

08.07.2010, 11:06

kann mysql trigger?

dann gehts auch damit

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »KoH_Citrus« (08.07.2010, 11:07)


7

08.07.2010, 15:50

ich habe es jetzt mit einer PHP-Schleife gelöst, drecks mysql 3.2. wie haben die Leute damit früher gearbeitet?

8

09.07.2010, 15:25

Zitat

Original von Zecher_Websonic
ich habe es jetzt mit einer PHP-Schleife gelöst, drecks mysql 3.2. wie haben die Leute damit früher gearbeitet?


haha, entwickelst du neuerdings für russische firmen die noch mit win98 arbeiten? :D

9

09.07.2010, 15:52

Zitat

Original von ZwerG_Michi_de

Zitat

Original von Zecher_Websonic
ich habe es jetzt mit einer PHP-Schleife gelöst, drecks mysql 3.2. wie haben die Leute damit früher gearbeitet?


haha, entwickelst du neuerdings für russische firmen die noch mit win98 arbeiten? :D


wenn du wüsstest... :bounce: :D

10

09.07.2010, 21:41

was spricht gegen
UPDATE kunde,test SET kunde.jnummer = test.jnummer WHERE test.id = kunde.id
?