1

私はこれを一週間研究してきましたが、まだ運がありません。phpを介して'temploadsi'テーブルにロードするtxtファイルがあります。テキストファイルには常にデータベースにすでに存在する古いデータが含まれているため、「新しい」データのみが必要です。私のアイデアは、ロードテーブル'temploadsi'を作成し、タイムスタンプを比較して、「新しい」データのみをテーブル'tempdatasi'にインポートすることでした。問題は、タイムスタンプ列が「MM / DD / YYYY HH:MM:SS」のようにフォーマットされており、mySQL日時フィールドに入力されないことです。したがって、テキストフィールドとして設定しました。テキストを「YYYY-MM-DDHH:MM:SS」のような日時フィールドに変換したいと思います。STR_TO_DATE関数とDateTime関数を見ましたが、「temploadsi」を更新できません。みんな手伝ってくれませんか?

4

2 に答える 2

2

フィールドの更新に失敗した理由は、データの時刻が24:59:59無効であるためです。私が思う最大時間はです23:59:59ので、それを日付に変換するには、次の形式を使用する必要があります

SELECT DATE_FORMAT(STR_TO_DATE(datetime,'%m/%d/%Y %x:%x:%x'), '%Y-%m-%d 23:59:59')
FROM table1

SQLFiddleライブデモを参照してください

したがって、フィールドを更新したくない場合は、このクエリを使用できます

UPDATE tableName
SET your_columnname = DATE_FORMAT(STR_TO_DATE(your_columnname, '%m/%d/%Y %x:%x:%x'), '%Y-%m-%d 23:59:59')

VARCHARこのクエリは、更新する列にデータ型があることを前提としています。

于 2012-12-10T23:25:17.150 に答える
0

Str_to_date('12 / 10/2012 23:59:59'、'%m /%d /%y%h:%i:%s')のようなもの

なぜこれが見つからなかったのかわからない

[Mysqlヘルプ] http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_str-to-date

于 2012-12-10T23:26:45.647 に答える