Какой тип поля выбрать в mysql для сохранения времени из PHP?
Ребят подскажите пожалуйста, timestamp и datetime это я так понимаю для времени, которое сохраняется через now() (а это я так понимаю UTC), но у меня время через PHP сохраняется с опр. часовым поясом, т.е. не совпадает с серверным. Правильно ли я понимаю, что в этом случае уже нужен другой тип поля? Какой выбрать, чтобы потом удобно было выборку по времени делать? Так себе конечно вопрос, просто никак всё руки не доходят с базами данных нормально подружиться((
Нет, не обязательно через NOW(), вы можете вставить свое значение даты и времени в поля типов timestamp и datetime, а можете выбрать одну из готовых функций: NOW(), UTC_DATE() и т.д.
timestamp занимает в базе 4 байта, а datetime 8 байт, т.к. в 2 раза больше. Мария правильно заметила что если вы записываете данные через NOW() то будет установлено серверное время, а если через переменную то будет установлено именно то время которое было в переменной вне зависимости от всех других факторов (ну в настройках php часовой пояс тоже можно корректировать).
На практике имхо datetime несколько проще манипулировать в приложении, а если данных не очень много то о байтах можно не думать.