1
我已經具有這樣定義的列的表:MySQL的LOAD DATA LOCAL INFILE與缺省時間戳列值
| Field | Type | Null | Key | Default | Extra |
+-------------+---------------+------+-----+-------------------+----------------+
| created_at | timestamp | NO | | CURRENT_TIMESTAMP | |
和我插入使用這個命令數據:
LOAD DATA LOCAL INFILE '<path_to_the_file>' INTO TABLE my_table FIELDS TERMINATED BY '|' (<some_columns>,created_at,<more_columns>)
從一個文件,其中每一行是這樣的:
822202 |網件||||| 1448ce8f-efc5-7b07-6982-1ff991bf967e |||||||| ||| 1
注:created_at是第5列,因此該文件有它沒有價值,所以我希望CURRENT_TIMESTAMP
相反,這是我所看到的:
mysql> select distinct created_at from my_table;
+---------------------+
| created_at |
+---------------------+
| 0000-00-00 00:00:00 |
+---------------------+
1 row in set (0.00 sec)
代碼運行該命令應該使用標準JDBC,它是一個jdbc.clj Clojure庫。注意2:如果我手動運行INSERT INTO ...查詢,它(顯然)按預期工作。
任何人都可以告訴我我錯過了什麼?
你試過從工作臺執行查詢,查詢瀏覽器, phpmyadmin,o r控制檯不使用JDBC? –
好問題;直接來自mysql CLI控制檯,它的失敗是這樣的:錯誤1148(42000):這個MySQL版本不允許使用命令 – alexakarpov
你使用的是什麼MySQL版本? –