2013-11-07 3 views
0

У меня возникли проблемы с Timestamp тип данных в MySQL.MySQL пользовательское значение метки времени

Я спасаю простые записи в моей базе данных, используя простую структуру БД, как:

 
ID int 
Name varchar 
Date timestamp 
Text varchar 

А затем восстановить их с чем-то вроде:

SELECT * FROM table WHERE Date BETWEEN '2013-01-01' AND '2013-06-30' 

Все отлично работает, если я хранить записи позволяя MySQL заполнить поле Date фактической меткой времени, например: 2013-10-04 22:40:02, что означает, что я не добавляю никакого значения в поле Date в своем запросе INSERT.

Но мне нужно иметь возможность добавлять дату самостоятельно, так как мое приложение должно хранить дату, с которой было запущено приложение, а не дата и время, в которое запрос был отправлен в базу данных. Так что я делаю, я создаю тот же формат даты/времени мой Date поле использует которое 2013-10-04 22:40:02, а затем сделать просто вставить:

INSERT INTO table (Name, Date, Text) 
VALUES ('Peter', '2013-10-04 22:40:02', 'Hello...') 

Теперь, делая это таким образом я не могу принести любой результат, дата с помощью запроса на выборку, как это:

SELECT * FROM table WHERE Date BETWEEN '2013-01-01' AND '2013-11-30' 

Даже если я пытаюсь сортировать результаты по дате, используя интерфейс PhpMyAdmin, все записи, содержащие добавленные вручную даты исчезают. Если я отсортирую их по ID, они снова появятся. Я проверил и даты и форматы верны. Поэтому я не знаю, в чем проблема. Кстати, я новичок в MySQL.

Надеюсь, вы можете дать мне руку. Благодаря!

+0

будет работать: 'SELECT * FROM table WHERE Date BETWEEN '2013-01-01 00:00:00' AND '2013-11-30 23: 59: 59''? –

+0

@iamde_coder Спасибо за ваше предложение, я попробовал, но не повезло, он только приносит результаты с добавленной датой автоматически –

ответ

0

Ну, я думаю, что я нашел эту проблему, и это не имеет ничего общего с PHP и MySQL, проблема заключается в том, что я произвожу дату с JavaScript, и это дает неправильный месяц ..:/

Благодаря все равно!

Смежные вопросы