Sie sind nicht angemeldet.

  • Anmelden

Lieber Besucher, herzlich willkommen bei: MastersForum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier 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
?