![]() |
Datenbank: MySQL • Version: 5 • Zugriff über: ZEOS
Problem mit Defaultwert bei MySQL und ZEOS
Hallo zusammen,
wie schon im Titel steht, habe ich ein Problem mit den Defaultwerten bei der Kombination MySQL und ZEOS. Ich habe eine Tabelle mit einem Feld:
SQL-Code:
Das Problem ist jetzt nur, das wenn ich mit einer Zeos-Querie ein Append mache, also einen neuen datensatz anlege, dieser Defaultwert nicht gesetzt wird. Beim Post mit dem ich den Datensatz speichern möchte, kommt nur eine Fehlermeldung, dass das Feld nicht NULL sein darf, was ja stimmt. Aber sollte in diesem Fall nicht der Defaultwert reingeschrieben werden?
CREATE TABLE IF NOT EXISTS "Tabellenname"(
Feldname BOOLEAN DEFAULT "0" NOT NULL ); MfG :angel: |
Re: Problem mit Defaultwert bei MySQL und ZEOS
Hallo Martin,
entweder DEFAULT oder NOT NULL - beides zusammen macht doch keinen Sinn. Grüße vom marabu |
Re: Problem mit Defaultwert bei MySQL und ZEOS
Türlich macht das Sinn..
DEFAULT ist der Wert der standardmäßig bein anlegen reingeschrieben werden soll. NOT NULL wird benötigt wenn ein Benutzer den Datensatz später bearbeitet und NULL also NICHTS reinschreiben will. Edit:*Große Klape wieder zumach* hattest Recht, NOT NULL weg und es geht :oops: |
Re: Problem mit Defaultwert bei MySQL und ZEOS
Errr... Das kann ja nicht die Lösung sein... Der letzte Einwand is ja berechtigt... Default-Werte können ja überschrieben werden und ich will ned von der Software aus dauernd leere Felder abfragen müssen o_0 Darum soll sich die Datenbank kümmern oder mir zumindest beim posten ne exception liefern damit ich das schön behandeln kann.
Ich hab übrigens den genau gleichen Fehler wie der erste Poster. Allerdings bin ich auch auf die neueren ZEOS-Komponenten umgestiegen. Die ZEOS-DBOs aus dem Jahre 2003 oder so hatten dieses Problem noch nicht (dafür halt hundert andere... ~_~) Wir hatten unsere Anwendung mit denen geschrieben, und der gleichzeitige Einsatz beider Flag war damals noch zugelassen. Also vermutlich wieder mal ein BUG in deren Komponenten... Mußte ja eh schon die verbliebenen "requestlive"-Aufrufe aus denen raushauen... Greetings, D. |
Re: Problem mit Defaultwert bei MySQL und ZEOS
SQL-Code:
Also das ist ja fast alles Falsch so ist das richtig
CREATE TABLE IF NOT EXISTS "Tabellenname"(
Feldname BOOLEAN DEFAULT "0" NOT NULL );
SQL-Code:
Weil Boolean kennt MySQL garnicht und NOT NULL muss vor Default
CREATE TABLE IF NOT EXISTS "Tabellenname"(
Feldname TINYINT(1) NOT NULL DEFAULT 0 ); |
Re: Problem mit Defaultwert bei MySQL und ZEOS
Wer das Problem lösen kann ohne viel Quelltext aufzuwirbeln dem bin ich zu höchstem Dank (ich mach das fürn nen Job o_0) verpflichtet.
Und aja: AutoInc-Felder scheinen die ZEOS DBOs neuerdings auch zu ignorieren! :thumb: :roteyes: Und aja2: Wenn man das ganze in einer Datenbank-Oberfläche wie z.b in MySQL-Front macht(also einen Datensatz einfügt), so funktionieren auch beide Flags miteinander, sprich: Die Default-Werte werden beim Einfügen des Datensatzes angelegt... Es liegt also nur an den Komponenten. |
Re: Problem mit Defaultwert bei MySQL und ZEOS
Und falls Du unbedingt ein Boolsches Feld brauchst.
SQL-Code:
CREATE TABLE IF NOT EXISTS "Tabellenname"(
`Feldname` enum('Wahr','Falsch') default 'Falsch' ); |
Re: Problem mit Defaultwert bei MySQL und ZEOS
An alle die auf ZEOS schimpfen:
1, Die Komponenten sind Kostenlos und jeder darf gerne mitmachen diese zu verbessern. Auch sollte man Fehler/Probleme auf der ZEOS-Seite melden und nicht in irgendeinem Forum sich auslassen. 2, Niemand verplichtet einen diese zu verwenden. Es gibt genügend kostenpflichtige Komponenten die MySQL-Zugriff mit Delphi ermöglich. Ich selbst verwende die CrLab-Komponenten sehr erfolgreich 3, Es muß nicht immer eine ZEOS-Fehler sein. Ich hatte auch schon MySQL-Versionen die im Bereich Default-Wert murks gebaut hat. Also am besten immer mit einer 2ten-MySQL-Version gegenchecken. |
Re: Problem mit Defaultwert bei MySQL und ZEOS
Zitat:
So ganz nebenbei hab ich aber eine Kombination entdeckt mit der sowohl "NOT NULL" als auch ein DEFAULT-WERT akzeptiert werden. :thumb: Ich benutze dazu: MySQL 5.0.22 (Müßte auch mit 4er-Versionenen gehen) DBO zeosdbo-6.5.1-alpha (2004-11-14 10:15) (Vielleicht geht auch was zwischem Aktuellen u. dem 2004er-Update, allerdings hab ich keine Geduld das jetzt noch auszuprobieren. |
Re: Problem mit Defaultwert bei MySQL und ZEOS
Zitat:
Da mit NOT NULL und DEFAULT hatte ich nicht hinbekommen, aber so wie du das da oben gemacht hast funktioniert es, also das NOT NULL vor dem DEFAULT anstatt dahinter. THX :thumb: MfG :angel: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:24 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