0

右。大量のデータをMySQLDBに挿入し、以下を使用してタイムスタンプを生成しました。

$stamp = mktime($t[0], $t[1], $t[2], $d[2], $d[1], $d[0]);

残念ながら、日と月が混在しており、以下が正しいタイムスタンプです。

$stamp = mktime($t[0], $t[1], $t[2], $d[1], $d[2], $d[0]);

約5,000レコードです。一括更新と修正を行う最も簡単な方法は何ですか?

どうもありがとう!

4

2 に答える 2

3

データベースエンジンで不可能な日付を挿入できましたか、それとも[日]フィールドが12を超える日付がありませんでしたか?

いずれの場合も、おそらく1つの更新ステートメントで修正できますが、構文は使用するデータベースエンジンによって異なります。

MySQLの場合、次を使用します。

UPDATE myTable SET dateColumn = STR_TO_DATE(DATE_FORMAT(dateColumn, '%d-%c-%Y %T'), '%c-%d-%Y %T')
于 2009-09-20T22:49:35.693 に答える
2

できません。説明として、例を示します。

次のように意味するとします。1990年の13日目2か月目しかし、これは次のように読み取られます。1990年2日目13年目1年の月は12までしか増えないため、これは2日目1か月目として扱われます。 1991年

ただし、次のことを意味しているとします。1991年の1日目、2か月目、これは次のように読み取られます。1991年の2日目、1か月目、1年目

では、データベースに1991年の2日目、1か月目、1年目があるとしたら、それはどちらから来たのでしょうか。

つまり、整数を2乗すると、結果は36になります。-6と6のどちらから始めましたか?

于 2009-09-21T00:02:39.383 に答える