[SQL] Default Wert

Dieses Thema im Forum "Webentwicklung" wurde erstellt von leex, 27. Juli 2011 .

Schlagworte:
  1. 27. Juli 2011
    Zuletzt von einem Moderator bearbeitet: 14. April 2017
    Default Wert

    Habe als Defaultwert überall NULL angegeben aber trotzdem macht er es nicht wenn nichts eingegeben wird, siehe Screenshot.

    https://www.xup.in/dl,36921934/hc_001.jpg

    https://www.xup.in/dl,12035057/anzeige.jpg/

    Warum nicht? Was mach ich falsch?
     
  2. 27. Juli 2011
    AW: Default Wert

    wäre gut wenn du sagen würdest, was du dir als default vorstellt, dann kann man sagen ob null das richtige dafür ist.

    aber ich denke du hast das mit null wert einfach falsch verstanden, der link hier hilft bestimmt:
    NULL-Werte
     
  3. 27. Juli 2011
    AW: Default Wert

    DEFAULT tritt nur dann in kraft, wenn du das jeweilgie feld im query garnicht erst ansprichst oder NULL übergibst.
     
  4. 27. Juli 2011
    AW: Default Wert

    in die tabelle kommen werte für eine Wiederruf (wieviel prozent zurück geschickt wurde) und da darf 0 nicht drin stehen, da es sonst im durchschnitt mitgerechnet wird ...

    hm ok ... wie krieg ich dann NULL da rein?
     
  5. 27. Juli 2011
    AW: Default Wert

    also null oder not null ist dafür da, damit man sagen kann ob ein feld beim insert UNBEDINGT einen wert haben muss oder auch nicht.
    du kannst doch bei den default wert auf 0 setzen und bei der berechnung die felder die 0 zurück liefer nicht beachten.
     
  6. 27. Juli 2011
    AW: Default Wert

    @litux, stimmt nicht ganz. das feld darf schon NULL sein, nutzt aber (falls gesetzt) den default-wert wenn es der fall ist. ist kein default gesetzt und es wird NULL übergeben wird statt NULL einfach nichts gespeichert (hängt vom typ der spalte ab).

    einen wert zu erzwingen ist unter myisam nicht möglich.
     
  7. 27. Juli 2011
    AW: Default Wert

    mit dem null oder not null ist das bei microsoft sqlserver schon so wie ich es beschrieben habe. also man kann es dort erzwingen.

    das was du geschrieben hast, ist natürlich richtig für mysql.
    übrigens wenn man null in der spalte definiert hat, und beim insert das feld garnicht angibt, dann wird explizit NULL geschriben.
     
  8. 27. Juli 2011
    AW: Default Wert

    ich hab aber ja eine POST-Variable die übergeben wird ... die halt dann einen leeren string übergibt ...
     
  9. 27. Juli 2011
    AW: Default Wert

    wenn kein default angegeben ist (zumindest unter myisam).

    Code:
    create table test (
     id int primary key not null,
     test varchar(255) default "foo"
    );
    Code:
    mysql> insert into test (id) values (1);
    Code:
    mysql> select * from test;
    +----+------+
    | id | test |
    +----+------+
    | 1 | foo |
    +----+------+
    1 row in set (0.00 sec)
    ---


    PHP:
    mysql_query ( '
        INSERT INTO tabelle ( feld )
        VALUES ( ' 
    . ( $_POST [ 'feld' ] ?:  'NULL' ) .  ');' );
    nur als beispiel. mysql_real_escape_string usw. nicht vergessen.
     
  10. 27. Juli 2011
    AW: Default Wert

    beschreib doch mal halbwegs was du vorhast, damit kann man dir besser helfen.
    immer halbe setze, die keinen anfang und keine ende haben, bringt nicht viel.
     
  11. 27. Juli 2011
    AW: Default Wert

    siehe: http://stats.thirty3.de/

    login: test / test
    ist denk ich selbsterklärend.

    Daten werden in Datenbank eingetragen und in Form von Diagrammen wieder ausgegeben.
    Und wenn 0 drin steht, wird bei der Berechnung des Durchschnittlichen Wiederrufs der Wert mit einberechnet, was nicht so sein soll.
     
  12. 27. Juli 2011
    AW: Default Wert

    also den insert würde ich auch so machen wie murdoc geschrieben hat, vobei ein trim() wäre nicht schlecht
    und wie bereits geschrieben, mach doch die unterscheidung ob ein null zurück kommt oder nicht bei der berechnung.
     
  13. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.