mySQL: 1 warning, aber wo steht der Warntext ?

  • Hallo

    Wenn ich folgende Anweisung absetze..
    mysql> insert into vowahl values (1,2,"deine ip3",2007-11-01);

    ..bekommt ich (nur) diese Ausgabe:
    Query OK, 1 row affected, 1 warning (0.25 sec)

    Ich fragte mich nun, was hinter dem Warning steckt.
    Habe herausgefunden, daß es nicht kommt, wenn man den 4 Wert (das Datum) auch in Anführungszeichen setzt.

    Es wäre ungemein hilfreich, wenn mySQL (4.1) einem den zum Warning gehörenden Text verraten würde.

    Oder mache ich etwas falsch ?

    Danke..

    Das Leben findet in der Zukunft statt..

  • Wirklich richtig wäre

    Code
    insert into `vorwahl` (`ID`, `usr_ID`, `ip`, `time`) values (1,2,"deine ip3", "2007-11-01");

    Die Spaltennamen sind erfunden.
    Warnungen gibt es öfters.
    In PHP kannst du Sie mit

    Code
    echo mysql_error()

    ausgeben.
    Bin mir nun aber nicht sicher ob du auf der Konsole arbeitest.
    Falls du auf der Konsole arbeitest kannst du die Mysql Session mit

    Code
    mysql -p -u user --show-warnings=TRUE

    starten dann werden Warnungen angezeigt.

    Beispel:

    Zitat

    mysql> insert into rr_stings values (22, hallo, hallo);
    ERROR 1146 (42S02): Table 'cms.rr_stings' doesn't exist

    P.S. Der obere Befehl geht mit Mysql 5 aber mit v4 sollte es auch klappen, ansonst schau mal in die Hilfe

    Code
    mysql --help
  • Hi,
    Danke für die prompte und ausführliche Antwort.
    Ja, ich meinte die Konsol-Schnittstelle.

    V4.1 kennt den Parameter "show-warnings" leider nicht.
    c:\web\mysql\bin\mysql -u root -p --show-warnings=TRUE
    c:\web\mysql\bin\mysql: unknown variable 'show-warnings=TRUE'

    Ich habe die help-Ausgabe genau durchsucht und auch nichts Ähnliches gefunden.

    Die PHP-Schnittstelle verhält sich übrigens gleich - ein echo mysql_error() fördert das Warning ebenfalls nicht zu Tage.

    Habe mal einen anderen Fehler provoziert (Abschneiden bei Datenübernahme) - auch hier kein Warning-Klartext.

    Tja, wenn ich die sehen will, muß ich wohl die neue Version aufspielen.

    Trotzdem Danke

  • Volltreffer !

    Code
    mysql> show warnings;
    +---------+------+-------------------------------------------+
    | Level   | Code | Message                                   |
    +---------+------+-------------------------------------------+
    | Warning | 1265 | Data truncated for column 'Zeit' at row 1 |
    +---------+------+-------------------------------------------+

    Ich war vorher sogar auf der Site gewesen, hatte aber nur "warning" als Suchbegriff eingegeben - die Suchmaschine hätte aber "warnings" gebraucht, um den Artikel zu finden..

    Nochmals vielen Dank für die tolle Hilfe.
    So macht es glatt Spaß, hilflos zu sein ;)

    Das Leben findet in der Zukunft statt..