私はevents
テーブルのすべての行を更新する必要があります。タイムスタンプデータ型の列event_date
があります。MySqlタイムスタンプ - すべての行を更新した後の別の時間
しかし、新しい日付(例:2015-12-12 12:00:00)で各行(event_date
列)を更新すると、値2015-12-12 13:00:00の行がいくつかあります。
ポイントは - いくつかの行が正しくあり、いくつかは+ 1hですか?これはhappendsなぜ
私はNetteフレームワークとスタンダールPHPのDateTimeを拡張彼のDateTimeオブジェクトを使用していますPHPで...
任意のアイデアは、ヒント?
EDIT:クエリは次のようになります。PHPで
UPDATE `events`
SET `event_date`='2016-2-13 12:00:00', `event_date_to`=NULL
WHERE (`id` = 203)
値は、私はこのような設定をしています:
$row->event_date = date("Y-m-d H:i:s", $oldRow['event_date']);
問題が早く始まり - 2016年2月13日00のように、このテーブルにあった日付を:00:00しかし、選択とエコーの日付が2016-2-12 23:00:00に変更された後、すべての行が... someonesだけに変更されました。だから私は選択してください:選択し
select events.id, events.event_date, events.event_date_to,
concat(year(event_date), '-', month(event_date), '-',
day(event_date), ' 12:00:00') as new_event_date,
IF(events.event_date_to IS NULL,null, concat(year(event_date_to),
'-', month(event_date_to), '-', day(event_date_to), ' 12:00:00')) as
new_event_date_to from events
はこのように私に行を与える:それは意味
769,2014-04-22 19:30:00,2014-04-22 21:45:00,2014-4-22 12:00:00,2014-4-22 12:00:00
:ID、EVENT_DATE(実際のデシベル値)、event_date_to(実際のデシベル値)、EVENT_DATE(新しい値挿入のため)、event_date_to挿入のための(新しい値が - NULL可能)
CSVファイル...私は今解析し、各行を更新するforeachでいます。このファイルに保存...
私はすべてのクエリをチェックします〜 d時間はOK(12:00:00)なので、わかりません。
残念ながら、あなたがそれらをすべて同じ方法で挿入している場合は、何か他のことが起こっているはずです.MySQLがランダムに時間を追加しているのではないでしょうか。おそらく、挿入に書式設定の問題があるか、実際には13:00:00と挿入されている値がありますか?挿入文を正確に(SQL)ダンプして値を比較しましたか?このSQLのいくつかをここに投稿してもいいですか?一度挿入されるとどのように画面が表示されるのでしょうか? –
そして、どうやって更新していますか?実際に使用されているクエリは何ですか –
おそらく 'timestamp'ではなくdatetimeデータ型を使用しているはずです - タイムスタンプは一般的に' on update CURRENT_TIMESTAMP'を使ってレコードが影響を受ける最後の時刻を記録するために使われますMySQL 5.1 IIRC) – CD001