Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Random email Adresse, per Insert ?

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von Rambo85, 25 April 2017.

  1. Rambo85

    Rambo85 Benutzer

    Servus

    Ich weiß nicht wie ich das umsetzen soll - deshalb bin ich hier :)

    Wie ihr sehen könnt hab ich hier eine typische Foren User Liste, jedoch sind einige Nutzer ohne Email Adresse.
    Dort möchte ich eine Random email eintragen, z.b "1@domain.de , 2@domain.de .

    Im raster "email" befinden sich aber auch Email adressen,die ich nicht löschen oder ersetzen will,sondern nur dort wo - nichts - steht eintragen.

    [​IMG]

    Kann mir da jemand helfen ?
     
  2. ukulele

    ukulele Datenbank-Guru

    Wo ist da der Sinn?

    Code:
    UPDATE tabelle SET email = '0@domain.de' WHERE email IS NULL
     
  3. Rambo85

    Rambo85 Benutzer

    Sers,

    Der Sinn liegt darin,das Updates anstehen und es probleme gibt wenn die Email Zeile fehlt. Daher lass ich mögliche Emails gegen die Wand laufen.

    UPDATE tabelle SET email = '0@domain.de' WHERE email IS NULL


    Habe an anderen stellen in der DB auch den Wert "NULL" , ist dies das gleiche wie "Nichts / Leere Zeile" ?

    Danke!
     
  4. Rambo85

    Rambo85 Benutzer

    Ich glaube es ist fast richtig, nur das mit dem NULL, wird nicht stimmen.

    Passiert ist halt nichts :)

    [​IMG]
    upload picture
     
  5. akretschmer

    akretschmer Datenbank-Guru

    Ja.
     
  6. akretschmer

    akretschmer Datenbank-Guru

    Kommt halt drauf an, ob da NULL ist oder z.B. Leerzeichen. Das solltest Du prüfen.
     
  7. Rambo85

    Rambo85 Benutzer

    Da ist nichts, es ist einfach leer. In den anderen steht halt eine @Adresse drin.
     
  8. akretschmer

    akretschmer Datenbank-Guru

    finde den Unterschied!


    Code:
    test=*# select '' is null;
     ?column?
    ----------
     f
    (1 Zeile)
    
    test=*# select null is null;
     ?column?
    ----------
     t
    (1 Zeile)
    
    test=*#
    
     
  9. Rambo85

    Rambo85 Benutzer

    Ich weiß nicht was ich damit machen soll... :(
     
  10. akretschmer

    akretschmer Datenbank-Guru

    du sollst den Unterschied zwischen '' und NULL finden.
     
  11. ukulele

    ukulele Datenbank-Guru

  12. Rambo85

    Rambo85 Benutzer

    Danke, der letze funkioniert,

    Und dieser hier würde...

    $sql = "UPDATE `wcf1_user` SET `email`= CONCAT(`userID`, '@domain.de' WHERE `email` = '';"

    Eine @adresse aus der UserID und der @domain erstellen, richtig ? (soweit ich concat richtig verstehe)
     
  13. ukulele

    ukulele Datenbank-Guru

    Mit einer Klammer zu würde er das. Allerdings würde ich eher einen einheitlichen Dummy-Wert nehmen und nicht unterschiedliche, das hat keinen Mehrwert.
     
  14. Rambo85

    Rambo85 Benutzer

    Gut, ich danke euch!
     
  15. drdimitri

    drdimitri Datenbank-Guru

    Das ist datenbankspezifisch. In Oracle z.B. ist '' gleichbedeutend mit NULL. Es gibt dort keinen String mit der Länge 0.
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden