![]() |
Datenbank: MySQL • Version: 4 • Zugriff über: Zeos
default Datum 0000-00-00 übernehmen
Hallo,
ich habe eine DB mit einer Datumsspalte. In dieser Spalte ist der Defaultwert mit 0000-00-00 angegeben Nun möchte ich per insert-Anweisung Datumswerte in eine neue Tabelle übernehmen. Das klappt auch soweit nur wenn ein Defaultwert übernommen werden soll, macht er aus 0000-00-00 den Wert 1899-12-30 Ist das normal bezw. kann man den Wert nicht so übernehmen? Für Hansa: Die Urspungstabelle ist nicht von mir und den Defaultwert kann ich nicht ändern. Gruß Gambit |
Re: default Datum 0000-00-00 übernehmen
wenn ich in die Tabelle, in der als Defaultwert 0000-00-00 für das Datum steht wie folgt reinschreibe
Delphi-Quellcode:
wird auch 0000-00-00 reingeschrieben.
ZQuery1.SQL.Text:='INSERT INTO table () VALUES ()';
ZQuery1.ExecSQL; wenn ich
Delphi-Quellcode:
schreibe, wird ein neuer Satz angelegt und im Datumsfeld steht dann 1899-12-30 also nicht der Defaultwert, obwohl ich in das Feld gar nichts reinschreibe...versteh ich nicht...
ZQuery1.append;
ZQuery1.post; |
Re: default Datum 0000-00-00 übernehmen
Zitat:
Und nochwas: was soll das den für ein Tag sein (Tag 0, Monat 0, Jahr 0), den gab es doch nie. MfG Binärbaum |
Re: default Datum 0000-00-00 übernehmen
klar, ne das soll gar kein Tag sein. Das ist nur ein Defaultwert wenn es kein Datum gibt, is halt so.
Aber wieso schreibt er bei einer Insert-Anweisung den (komischen) Defaultwert rein und bei der .append-Anweisung nicht? |
Re: default Datum 0000-00-00 übernehmen
Zitat:
MfG Binärbaum |
Re: default Datum 0000-00-00 übernehmen
Zitat:
|
Re: default Datum 0000-00-00 übernehmen
ne, das kann ich leider nicht...in der neuen Tabelle sollen als Defaultwerte die gleichen stehen wie in der Ursprungstabelle.
|
Re: default Datum 0000-00-00 übernehmen
1. das linux timestamp 0000000 entspricht dem 30.12.1899(sprich: linux timestamp = anzahl der vegangenen sekunden seit dem 30.12.1899 23:59:59).
2. wenn du also den 00.00.0000 eingibst, ist das timestamp wohl negativ - vielleicht kannst du das überprüfen. 3. vielleicht hilft dir das schon. 4. wenn ich mich irren sollte, dann berichtigt mich. |
Re: default Datum 0000-00-00 übernehmen
SQL-Code:
und wie wäre es wenn Du es stattdessen so machst:
ZQuery1.SQL.Text:='INSERT INTO table () VALUES ()';
ZQuery1.ExecSQL;
SQL-Code:
ZQuery1.SQL.Text:='INSERT INTO table (Datum) VALUES (NULL)';
ZQuery1.ExecSQL; |
Re: default Datum 0000-00-00 übernehmen
null geht nicht, ich muss 0000-00-00 haben
dann muss ich wohl die Insert Anweisung zusammenbasteln Lieber wärs mir gewesen, wenn ich ohne Insert-Anweisung ausgekommen wäre, also mit .append und .post... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz