2016-10-24 6 views
0

こんにちは、私は挿入クエリで問題があります。MySQLのjavaからdatetime文字列を挿入してください

私はJavaから日時を取得する:

SimpleDateFormat sdfDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
Date now = new Date(); 
String strDate = sdfDate.format(now); 

p.s:私はstrDateにSYSOUTを試してみると、それは正しいです。

私はMySQLの日時に入るようにすると、このようなクエリを作成しなければならないような質問、読み:?

トラックINTO INSERT VALUES(STR_TO_DATE((中)、 '%Y-%M-を%d%r '))

ここで'? '日付を含む文字列ですが、うまくいきません。

誰でも手伝ってもらえますか?

更新日:MySQLサーバ5.7

+1

使用しているmysqlバージョンに関する情報を提供する必要があります。また、迅速かつ簡単にテストできるようにするには、たとえばコマンドラインクライアントでmysqlサーバに接続して、次のようなテストをプロンプトに入力します。 "mysql> SELECT STR_TO_DATE( '2009年5月18日'、 '%M% d、%Y '); " – Matthias

+0

はい、それは動作します...しかし、私はどのように私の問題に使用することができますか? –

+0

私が前提としていたことは、cliで作業しているときに、javaに転送できるはずです...(助けて欲しい)またはコマンドラインでjavaのusecaseが動作しない理由を知ることができます。 – Matthias

答えて

1

を行うことができます。

DateTimeフィールドの "in"という名前は受け入れられません。私は "indate" とクエリでその名前を変更しようとしている

セッション、中
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'in, session) VALUES (1, NOW(), "abc")' at line 1. 

」)

INSERT INTO tracks (fk_utenza, indate, session) VALUES (1, NOW(), "abc"); 
うまく機能

1

現在の時刻を使用しています。だから、あなたは単にNOW()でそれを行うことができます。

INSERT INTO tracks (`in`) VALUES (NOW()) 

OR

あなたは、私が問題を発見したこのよう

java.sql.Timestamp now = new java.sql.Timestamp(new java.util.Date().getTime()); 
PrepStmt.setTimestamp(1, now); 
+0

NOX()を使用するヒントのためのThxははるかに簡単です! –

関連する問題