jpsaenz: Wenn Variable A = "x" eingügen in Variable B "z"

Hi!

ich möchte eine Anweisung schreiben, welche ein bestimmtes Feld überprüft und wenn sich darin eine bestimmte email-adresse befindet, in einem anderen Feld derselben Tabelle was schreibt. (Es geht darum, eine Reihe von Users bestimmten Passwörter zu vergeben).

Ich habe es mir so vorgestellt:

USE TABLE customers
CASE 'customers_email_address' WHEN 'user@email.tld' THEN INSERT INTO customers (customers\_password) VALUE ('63fed77b1f89caa6362221bd69e9cd65');

das funktioniert aber nicht. Mit der IF Anweisung

SELECT * FROM customers WHERE 1
IF ('customers_email_address'=='user@email.tld') INSERT INTO (customers\_password) VALUE ('63fed77b1f89caa6362221bd69e9cd65');

geht das auch nicht.

Wie muss ich vorgehen? Ich habe bereits in der entsprechenden Dokumentation nachgeschut aber nichts gefunden...

Danke im Voraus!

Saludos,
Juan Pablo

  1. Hi,

    CASE 'customers_email_address' WHEN 'user@email.tld'

    Wie hoch ist die Wahrscheinlichkeit, daß diese beiden unterschiedlichen Strings identisch sind?
    Vermutlich soll das erste eher ein Spaltenname sein.

    IF ('customers_email_address'=='user@email.tld')

    Die Wahrscheinlichkeit hat sich nicht geändert.
    Aber hier müßte bei den meisten DBMS noch eine Fehlermeldung wegen des unbekannten Operators kommen, m.W. verwenden die meisten DBMS für den Vergleich _und_ für die Zuweisung (set bla = blubb) denselben Operator '='.

    INSERT INTO (customers\_password) VALUE ('63fed77b1f89caa6362221bd69e9cd65');

    Hier weißt Du, wie Du Spaltennamen ansprichst ...

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    O o ostern ...
    Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.
    1. Hi,

      CASE 'customers_email_address' WHEN 'user@email.tld'

      Wie hoch ist die Wahrscheinlichkeit, daß diese beiden unterschiedlichen Strings identisch sind?
      Vermutlich soll das erste eher ein Spaltenname sein.

      ganz richtig.

      Ich versuche es anders zu erklären. Ich möchte folgendes erreichen:

      WENN customers_email_address = mirbekannte@email.com DANN SCHREIBE IN customers_password 'mirbekanntespasswort'

      wobei 'customers_email_address' und 'customers_password' Felder in der Tabelle 'users' sind.

      Daß ich kein Experte in MySQL bin ist klar, deswegen frage ich ja hier um Hilfe.

      cu,
      Andreas

      Saludos,
      jp

      1. Hi,

        Hallo,

        WENN customers_email_address = mirbekannte@email.com DANN SCHREIBE IN customers_password 'mirbekanntespasswort'

        Dein erster Post hat mich verwirrt, aber dies ist schon verständlicher.

        Die SQL Syntax hat etwas andere Grammatik :)

        SCHREIBE IN tabelle IN FELD customers_password = 'mirbekanntespasswort' WENN customers_email_address = mirbekannte@email.com

        übersetzt heißt das dann:

        UPDATE tabelle SET customers_password = 'mirbekanntespasswort' WHERE customers_email_address = mirbekannte@email.com

        Saludos,
        jp

        mfg Pryos

        1. übersetzt heißt das dann:

          UPDATE tabelle SET customers_password = 'mirbekanntespasswort' WHERE customers_email_address = mirbekannte@email.com

          hat super geklappt - danke!

          jp

          1. hat super geklappt - danke!

            kein Ding, aber nächstes mal bitte in die Doku schauen. Das Problem war nicht mal eines Anfängers würdig ;)

            jp

            mfg pryos

            1. kein Ding, aber nächstes mal bitte in die Doku schauen. Das Problem war nicht mal eines Anfängers würdig ;)

              ist mir bewußt, habe aber z.Z. tausend andere Probleme zu lösen und da gab's wenig Zeit für. Trotzdem hast Du Recht, und gerade deswegen: danke noch mal!

              Gruß,
              jp