2017-04-06 8 views
0
  • .csvファイルに5列あり、MySQL tableにインポートする必要があります。
  • しかし、データベースにファイルをインポートする日付も必要です。

したがって、今日の日付の表の6つの列を意味します。mysqlでデータをインポートする際に自動カラム挿入

  • 私はdatatypedefaultCURRENT_TIMESTAMPとして使用time stampで試してみました。

しかし、それは、クエリが発生します - Invalid column count in CSV input on line 1.

私を導いてください。

スクリーンショット: - enter image description here

CSVファイル: - enter image description here

+0

それがタイムスタンプである場合でも、あなたはあなたの挿入で空の値を追加する必要があります。表の列と挿入照会の列の数は一致する必要があります。 – Krishnakumar

+0

実際には私はmysqlクエリーを使用していませんが、Wampserverの 'import'メニューを使ってデータをインポートするだけです。 –

+0

テーブルのスキーマを表示する必要があります。インポートに使用したコード – RiggsFolly

答えて

3

これはあなたのcsvファイルとテーブルの列の数が同じではないことを意味します。任意の列のデフォルト値を設定する場合は、この値を空にしておく必要がありますが、この列について言及する必要があります。例:あなたが名前の1列のデフォルト値を持つ3つの列を挿入したい場合は、「作成」CSVファイルは次のようになります。

enter image description here

あなたのテーブル構造を記述する最初の行を削除してください。 enter image description here

そして最後に、現在のタイムスタンプが設定されていない場合は、次のSQLを実行します:ここで

UPDATE `table` SET edate = current_timestamp; 

は、「テーブルのフレーズあなたのテーブル名を入れて私の代わりに、上記の次の項目を使用しませんを意味します。

+0

これは、 '#1292 - 不正なdatetime値: ''列 'edate' at row 1'に表示されます。 –

+0

サンプルcsvデータを共有してください。 –

+0

更新された質問 –

0

あなたは、タイムスタンプを設定するには、DEFAULT制約を使用することができます。

ALTER TABLE 
MODIFY edate datetime DEFAULT CURRENT_TIMESTAMP 

ALTER TABLE 
MODIFY edate datetime DEFAULT ON UPDATE CURRENT_TIMESTAMP 
+0

これはあなたに役立つと思います – lalithkumar

関連する問題