2010-12-17 8 views
0



Ich habe ein Problem beim Einfügen des Datumsformats wie MM/TT/JJJJ in mySQL.
Es zeigt das Datumsformat error.and meine Anforderung ist, wie dieses Format von Front-End (Coldfusion) einzugeben, und ich verwende mySQL5 als Datenbank.

jede Hilfe würde stark appriaciated sein.
Fehler beim Einfügen mm-TT-JJJJ Datum in Mysql in Coldfusion

Dank
Yugal

+0

Es würde helfen, wenn Sie uns den Code gezeigt hätten, den Sie verwenden, um den Einsatz zu machen. In Ermangelung von Code würde ich vermuten, dass Ihre Daten mehrdeutig sind (das Format MM/TT/JJJJ ist oft ein Grund für Verwirrung). Warum ordnen Sie das Datum nicht einfach in ein vernünftiges Format um - also JJJJ-MM-TT, der MySQL-Standard? – Spudley

Antwort

5

Stellen Sie sicher, das Datum ist ein gültiges Datum zu speichern und entweder CreateODBCDate(yourDate) oder CreateODBCDateTime(yourDate) oder besser verwenden lassen <cfqueryparam> für Sie

INSERT into myTable 
(myDate) 
VALUES 
(<cfqueryparam cfsqltype="cf_sql_date" value="#yourDate#">) 
+0

In der Tat sollte cfqueryparam dies ohne zusätzliche Konvertierung behandeln. – Sergii

+0

@Sergii du hast Recht. cfqueryparam kann die Konvertierung für Sie durchführen. Ich vermasselte die Abfrage mit und ohne cfqueryparam. Ich habe meine Antwort entsprechend bearbeitet. –

+0

Wenn dieses Datum ein Wert ist, der vom Benutzer eingegeben wird, sollten Sie wirklich cfqueryparam verwenden. –

1

Stellen Sie sicher, Daten in Datumsspalten und nicht die String-Werte, als Standard-Besetzung von String-Eingabe sind -> Datum in der Datenbank könnte sich jederzeit ändern.

z.B.

insert into TableX (myDateCol) SELECT STR_TO_DATE('01,5,2013','%d,%m,%Y') ... 

und nicht

insert into TableX (myDateCol) SELECT '05/01/2013' ... 

oder aber das ist in Coldfusion konstruiert.

1

die Arbeit zu tun haben, ich glaube, Sie zu erwähnen, welches Format Sie geben.

Insert into table TABLE values(XX,'TO_DATE('03-10-92','MM-DD-YY')',XXXXX); 
+0

TO_DATE ist keine mysql-Funktion (STR_TO_DATE verwenden) – davek