2009-04-28 44 views
0

Time.nowまたはTime.now.to_sまたはTime.now.to_datetimeの使用時にエラーが発生しています。SQLクエリで現在の時刻を更新する必要があります

Date.todayを使用すると、現在のタイムスタンプではなく、午前12時の日付が格納されるため、役立ちません。

この問題を解決するのに手伝ってください。

+0

どのDB-Systemを使用していますか? Postgres、MySQL、MS SQL、Oracle、Firebird、...? – Xn0vv3r

+0

私はMySQLを使用しています –

+0

それは健康に聞こえません。 Time.nowでどんなエラーがスローされますか? –

答えて

1

あなたが(UPDATE文で今()で)一種の声明を試しました:

INSERT INTO table1 (field1, field2, field3, timestampfield) VALUES ('value1', 'value2', 'value3', now()) 

[EDIT:]の外観here for an explanation持っている "(今)" を

UPDATE table1 SET mytime = now(); 

別OPT:更新のために

1

のような何かを試してみてくださいあなたが挿入に適切な時間を入れたい場合は、datetimeフィールドのデフォルトの関数now()を設定するだけです。

+0

CURRENT_TIMESTAMPを使用して、タイムスタンプ付きの現在の日付を取得しました。 それは働いた。 –

3

なぜ、何がエラーを投げているのか分かりませんが、Rubyの正しいSQLである日付文字列(特にここのレール)を生成しようとするとTime.now.to_s(:db)を使用できます。

+0

私はこの答えを他のものと比較して真剣に考えなければならないと思います。たぶんあなたのタイムスタンプをデータベースが動作しているクロックの関数にしたいかもしれませんが、タイムスタンプをコードを実行しているシステムが決定するようにしたいかもしれません。この回答のみがその機能を提供します。 – animal

2

CURRENT_TIMESTAMPを使用して、タイムスタンプ付きの現在の日付を取得しました。出来た。

ご協力いただきありがとうございます。

関連する問題