2010-12-17 2 views
0



mm/dd/yyyyのような日付形式をmySQLに挿入する際に問題があります。
これは日付形式error.andを表示しています。私の要件はフロントエンド(coldfusion)からこの形式のように入力し、私はデータベースとしてmySQL5を使用しています。

どのような助けも非常に気に入られるでしょう。
mysqlのcoldfusionでmm-dd-yyyyの日付を挿入中にエラーが発生しました

おかげ
Yugal

+0

これは、挿入に使用しているコードを表示した場合に役立ちます。コードがない場合、私の推測はあなたの日付があいまいである(mm/dd/yyyy形式はしばしば混乱の原因です)ということになります。なぜ単に日付を正式なフォーマットに変更しないのですか?つまり、MySQLのデフォルトのyyyy-mm-ddですか? – Spudley

答えて

5

は、保存するための日付が有効な日付であることを確認して、どちらかCreateODBCDate(yourDate)またはCreateODBCDateTime(yourDate)またはより良い私はあなたが与えている形式に言及すると思う<cfqueryparam>あなた

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

実際、cfqueryparamは追加変換なしでこれを処理する必要があります。 – Sergii

+0

あなたは@Sergiiです。 cfqueryparamは変換を行うことができます。私はcfqueryparamの有無にかかわらずクエリを実行しました。私はそれに応じて私の答えを編集しました。 –

+0

この日付がユーザーから入力された値である場合は、実際にcfqueryparamを使用する必要があります。 –

1

あなたは、文字列のデフォルトのキャストとして、日付列ではなく文字列値で日付を入力していることを確認してください - >データベースの日付はいつでも変更することができます。

ColdFusionで構成されている

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

なく

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

又はしかし。

1

ために仕事をさせてください。

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

TO_DATEはmysql関数ではありません(STR_TO_DATEを使用) – davek

関連する問題