Thread query wird nicht ausgeführt (8 answers)
Opened by plautzenpa at 2008-01-08 17:45

plautzenpa
 2008-01-08 17:45
#104490 #104490
User since
2008-01-08
4 Artikel
BenutzerIn
[default_avatar]
Hallo zusammen,

ich habe folgende Query:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
my $tabelle = shift;

    # Neue Spalten hinzufügen
    $sql = "ALTER TABLE $tabelle ADD _email_first_part VARCHAR( 255 ) NOT NULL AFTER email, ADD _email_last_part VARCHAR( 255 ) NOT NULL AFTER _email_first_part";
    $dbh->do($sql);
    if($DBI::err) { dbError("3084 dbUpdateEmailPartRows (SQL: $sql) (do): $DBI::errstr"); return 0; }

    # Index über diese Spalten legen
    $sql = "ALTER TABLE $tabelle ADD INDEX ( _email_first_part , _email_last_part )";
    $dbh->do($sql);
    if($DBI::err) { dbError("3089 dbUpdateEmailPartRows (SQL: $sql) (do): $DBI::errstr"); return 0; }

    # Daten aus der Spalte 'email' erzeugen und in die neuen Spalten einfügen.
    $sql = "UPDATE $tabelle SET _email_first_part = SUBSTR( email, 1, POSITION( '\@' IN email) ), _email_last_part = SUBSTRING( email, POSITION( '\@' IN email) , LENGTH( email ) - POSITION( '\@' IN email ) +1 )";
    $dbh->do($sql);
    if($DBI::err) { dbError("3094 dbUpdateEmailPartRows (SQL: $sql) (do): $DBI::errstr"); return 0; }


Die ersten beiden werden richtig ausgeführt, das letzte nicht. Es wird auch keine Fehlermeldung im errstr zurückgegeben.
Führe ich den letzten alleine aus, wenn die ersten schon fertig sind, funktioniert es.

Was mache ich falsch?

Vielen Dank im Voraus
Chris

View full thread query wird nicht ausgeführt