Suchmaschinenoptimierung
   
 

SEMSEO Konferenz 2012
 

 
 

MySQL for Hatkeinplan

Gehe zu Seite 1, 2  Weiter
Neues Thema eröffnen   Neue Antwort erstellen    ABAKUS Foren-Übersicht -> Webprogrammierung, Templatedesign & Microformats
 Browserweiche nach land Code ans Ende der Seite und oben anzeigen?  
Markus_S

pr


: 18.04.2007
: 52



: 19.01.2012, 09:11    : MySQL for Hatkeinplan Antworten mit Zitat

Hallo mal wieder,

als MySQL-Leie schaffe ich es nach Stunden Rumprobieren nicht, folgenden Befehl zu formulieren...

1. Ich habe zwei Tabellen...

--------------------------------
tabelle-a
id | wert-1 | wert 2
--------------------------------
tabelle-b
id | wert-3 | wert-4
--------------------------------

2. Ich möchte den wert-2 zu wert-4 übertragen, wenn wert-3 gleich wert-1 ist.


Versucht habe ich folgendes:

Code:
UPDATE tabelle-b SET wert-4 = (SELECT wert-2 FROM tabelle-a WHERE tabelle-b.wert-3 = tabelle-a.wert-1)


Scheint offensichtlich Quatsch zu sein... Fehlermeldung lautet:

:
Unknown column 'tabelle-b.wert-3' in 'where clause


Wer kann helfen? Ich zähle auf euch...

Danke
Nach oben
Markus_S Private Nachricht senden
e-fee

pr


: 08.05.2007
: 3337



: 19.01.2012, 10:04    : MySQL for Hatkeinplan Antworten mit Zitat

Ist auch Quatsch. Mach mal die Klammer wieder hinter dem WHERE zu! Keine Gewähr, dass nicht noch mehr falsch ist.
Nach oben
e-fee Private Nachricht senden
empty

pr


: 11.02.2005
: 46



: 19.01.2012, 10:17    : MySQL for Hatkeinplan Antworten mit Zitat

Ne, Deine Antwort ist Quatsch.

Die Klammern sind schon richtig, bloß muss im Select natürlich auch tabelle-b mit angegeben werden, weil sie sonst im WHERE-Kontext unbekannt ist:

UPDATE tabelle-b SET wert-4 = (SELECT tabelle-a.wert-2 FROM tabelle-a,tabelle-b WHERE tabelle-b.wert-3 = tabelle-a.wert-1)
Nach oben
empty Private Nachricht senden
Markus_S

pr


: 18.04.2007
: 52



: 19.01.2012, 15:57    : MySQL for Hatkeinplan Antworten mit Zitat

MySQL meldet:
You can't specify target table 'tabelle-b' for update in FROM clause

Nach oben
Markus_S Private Nachricht senden
empty

pr


: 11.02.2005
: 46



: 19.01.2012, 16:13    : MySQL for Hatkeinplan Antworten mit Zitat

Stimmt. Ich hatte mich nur auf den Fehler aus dem select-Teil der Query konzentriert und dabei übersehen, dass Du ja ein Update auf dieselbe Tabelle machst.

Das geht in MySQL auf schlichte Weise nicht...
Nach oben
empty Private Nachricht senden
Markus_S

pr


: 18.04.2007
: 52



: 19.01.2012, 16:16    : MySQL for Hatkeinplan Antworten mit Zitat

Okay, hab ich mir fast schon gedacht.

Also müsste ich eine kurze PHP-Datei tippen.

Wie sähe die aus?
Nach oben
Markus_S Private Nachricht senden
empty

pr


: 11.02.2005
: 46



: 19.01.2012, 16:17    : MySQL for Hatkeinplan Antworten mit Zitat

Ein paar Lösungsansätze finden sich hier:

http://www.xaprb.com/blog/2006/06/23/how-to-select-from-an-update-target-in-mysql/
Nach oben
empty Private Nachricht senden
Markus_S

pr


: 18.04.2007
: 52



: 19.01.2012, 16:34    : MySQL for Hatkeinplan Antworten mit Zitat

Hilft mir leider nicht. Ich kontruiere jedesmal Mist...

Bin auch gern bereit eventuelle Mühen per PayPal zu vergüten.
Nach oben
Markus_S Private Nachricht senden
800XE

pr


: 02.12.2004
: 5209
: XENEVU


: 19.01.2012, 18:10    : MySQL for Hatkeinplan Antworten mit Zitat

Markus_S hat Folgendes geschrieben:
--------------------------------
tabelle-a
id | wert-1 | wert 2
--------------------------------
tabelle-b
id | wert-3 | wert-4
-----------------------------
2. Ich möchte den wert-2 zu wert-4 übertragen, wenn wert-3 gleich wert-1 ist.

Markus_S hat Folgendes geschrieben:
Hilft mir leider nicht. Ich kontruiere jedesmal Mist...

Bin auch gern bereit eventuelle Mühen per PayPal zu vergüten.


Code:

    $query  = ' SELECT * FROM TA';
    $result = mysql_query($query) or die('<hr>'.$query.'<hr>'.mysql_error());
    while( $line= mysql_fetch_array($result, MYSQL_ASSOC))
    {
      $query  = ' UPDATE TB';
      $query .= ' SET W4 = '. $line['W2'];
      $query .= ' WHERE W3 = '. $line['W1'];
      mysql_query($query) or die('<hr>'.$query.'<hr>'.mysql_error());
    }


aber nur ... /Affilitiv/ ... innovativ
Nach oben
800XE Private Nachricht senden WWW
Markus_S

pr


: 18.04.2007
: 52



: 19.01.2012, 18:39    : MySQL for Hatkeinplan Antworten mit Zitat

Okay, das scheint zu klappen... juhu

JEDOCH ist W2 eine Zahlenreiche mit Bindestrich (1978-07-21) und offenbar gelangt in Feld W4 dann "1950", also wurde eine Subtrahierung ausgeführt.

Sicherlich nur noch ein Syntax-Problem oder?
Nach oben
Markus_S Private Nachricht senden
800XE

pr


: 02.12.2004
: 5209
: XENEVU


: 19.01.2012, 19:48    : MySQL for Hatkeinplan Antworten mit Zitat

Markus_S hat Folgendes geschrieben:
Okay, das scheint zu klappen... juhu

JEDOCH ist W2 eine Zahlenreiche mit Bindestrich (1978-07-21) und offenbar gelangt in Feld W4 dann "1950", also wurde eine Subtrahierung ausgeführt.

Sicherlich nur noch ein Syntax-Problem oder?

http://www.google.de/search?q=1978-07-21
wieso macht er mir keinen Taschenrechner?
ähm ... 7+21=28 .... von 78weg=50 =19050

Code:

    $query .= ' SET W4 = "'.addslashes($line['W2']).'"';
      $query .= ' WHERE W3 = "'.addslashes($line['W1']).'"';


aber nur ... /Affilitiv/ ... innovativ
Nach oben
800XE Private Nachricht senden WWW
800XE

pr


: 02.12.2004
: 5209
: XENEVU


: 19.01.2012, 19:52    : MySQL for Hatkeinplan Antworten mit Zitat

www.google.de/search?hl=de&q=1978-7-21

die 7 ohne 0 dann gibts den Taschenrechner

aber nur ... /Affilitiv/ ... innovativ
Nach oben
800XE Private Nachricht senden WWW
Markus_S

pr


: 18.04.2007
: 52



: 19.01.2012, 20:03    : MySQL for Hatkeinplan Antworten mit Zitat

800XE hat Folgendes geschrieben:

Code:

    $query .= ' SET W4 = "'.addslashes($line['W2']).'"';
      $query .= ' WHERE W3 = "'.addslashes($line['W1']).'"';


Super, klappt!

Schick mir deine PayPal-Adresse per PN.

Vielen Dank!
Nach oben
Markus_S Private Nachricht senden
Markus_S

pr


: 18.04.2007
: 52



: 19.01.2012, 22:24    : MySQL for Hatkeinplan Antworten mit Zitat

Mist...

Jetzt habe ich vor lauter Freude übersehen, dass das Format nicht übereinstimmt.

w2 ist "JJJJ-MM-TT"
w4 soll "MM-TT-JJJJ"

Darum müsste ich das noch umwandeln...

Code:
$query  = ' SELECT * FROM t1';
    $result = mysql_query($query) or die('<hr>'.$query.'<hr>'.mysql_error());
    while( $line= mysql_fetch_array($result, MYSQL_ASSOC))
    {
      $query  = ' UPDATE t2';
      $query .= ' SET w4 = "'.addslashes($line['w2']).'"';
      $query .= ' WHERE w3 = "'.addslashes($line['w1']).'"';
      mysql_query($query) or die('<hr>'.$query.'<hr>'.mysql_error());
    }


Wie löse ich das?

Hier habe ich was gefunden aber da blicke ich nicht durch: http://www.selfphp.de/kochbuch/kochbuch.php?code=15
Nach oben
Markus_S Private Nachricht senden
800XE

pr


: 02.12.2004
: 5209
: XENEVU


: 20.01.2012, 10:06    : MySQL for Hatkeinplan Antworten mit Zitat

Markus_S hat Folgendes geschrieben:
w2 ist "JJJJ-MM-TT"
w4 soll "MM-TT-JJJJ"


Code:

$toks = explode( '-' , $oldDate );

$newDate = $toks[2] . '-' . $toks[1] . '-' . $toks[0];


//EDIT
nummerierung im ZUsammenBauer falsch .... siehe nächsten Post

aber nur ... /Affilitiv/ ... innovativ


Zuletzt bearbeitet von 800XE am 20.01.2012, 10:11, insgesamt einmal bearbeitet
Nach oben
800XE Private Nachricht senden WWW
Neues Thema eröffnen   Neue Antwort erstellen    ABAKUS Foren-Übersicht -> Webprogrammierung, Templatedesign & Microformats
Seite 1 von 2
Gehe zu Seite 1, 2  Weiter

 






Ähnliche Beiträge
Thema Forum Antworten
[B] PHP / MySQL / jQuery Fähigkeiten [B] PHP / MySQL / jQuery Fähigkeiten haremo Marktplatz: Dienstleistungen 0 10.05.2012, 14:26 [B] PHP / MySQL / jQuery Fähigkeiten
Suche PHP/Mysql Programmierer Schwerpunkt Wordpress Suche PHP/Mysql Programmierer Schwerp... matthias116 Marktplatz: Dienstleistungen 0 14.04.2012, 17:44 Suche PHP/Mysql Programmierer Schwerpunkt Wordpress
[S] Dringend Hilfe bei Debugging von Apache/MySQL Fehler [S] Dringend Hilfe bei Debugging von ... tided Marktplatz: Dienstleistungen 0 14.04.2012, 10:49 [S] Dringend Hilfe bei Debugging von Apache/MySQL Fehler
MySQL Update Befehl MySQL Update Befehl nadthom Webprogrammierung, Templatedesign & Microformats 1 27.01.2012, 16:51 MySQL Update Befehl
MySQL-Befehls-Syntax MySQL-Befehls-Syntax Linkbuilder_Bochum Webprogrammierung, Templatedesign & Microformats 3 28.11.2011, 12:31 MySQL-Befehls-Syntax
Coder gesucht (PHP/MYSQL/Javascript/CSS) Coder gesucht (PHP/MYSQL/Javascript/CSS) matthias116 Marktplatz: Dienstleistungen 0 29.10.2011, 16:17 Coder gesucht (PHP/MYSQL/Javascript/CSS)
PHP / MySQL Programmierer auf 400.- Euro Basis gesucht PHP / MySQL Programmierer auf 400.- E... dieguito Stellenbörse: Stellenangebote und -gesuche 0 10.10.2011, 21:31 PHP / MySQL Programmierer auf 400.- Euro Basis gesucht

Suchmaschinenoptimierung | Latent Semantische Optimierung (LSO) | SEO Blog | SEO Online Tools | Suchmaschinenmarketing Angebot | Online Marketing

Impressum

Dieses SEO Forum läuft unter phpBB.


Sie lesen gerade: MySQL for Hatkeinplan