мне нужно обновить текущее время в запросе sql - PullRequest
0 голосов
/ 28 апреля 2009

Использование Time.now или Time.now.to_s или Time.now.to_datetime выдает ошибку.

Использование Date.today не помогает, поскольку в нем хранится дата со временем 12:00, а не текущая отметка времени.

Пожалуйста, помогите мне решить эту проблему.

Ответы [ 5 ]

5 голосов
/ 28 апреля 2009

Я не уверен, почему и что выдает ошибку, но если вы пытаетесь сгенерировать строку даты, которая является правильным SQL из Ruby (в частности, Rails здесь), вы можете использовать Time.now.to_s(:db).

2 голосов
/ 30 апреля 2009

Я использовал CURRENT_TIMESTAMP, чтобы получить текущую дату с отметкой времени. Это сработало.

спасибо за вашу помощь.

1 голос
/ 30 апреля 2009

Time.now.to_formatted_s: дБ, это должно дать вам дружественную отметку времени.

http://api.rubyonrails.org/classes/ActiveSupport/CoreExtensions/Time/Conversions.html#M001093

1 голос
/ 28 апреля 2009

Для обновления попробуйте что-то вроде:

UPDATE table1 SET mytime = now();

Еще один вариант, если вы хотите установить правильное время для вставки, просто установите функцию now () для поля даты и времени по умолчанию.

1 голос
/ 28 апреля 2009

Вы пробовали оператор такого типа (с now () в операторе обновления):

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

[EDIT:] Посмотрите здесь для объяснения из "сейчас ()"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...