Bagaimana untuk memuatkan data tarikh menggunakan LOAD DATA dalam MySQL
P粉738046172
2023-08-22 22:12:49
<p>Format tarikh lalai untuk lajur tarikh dalam MySQL ialah <kod>YYYY-MM-DD HH:MM:SS</code>. </p>
<p>Fail data yang saya cuba muatkan mempunyai medan tarikh dalam format <kod>DD-MON-YY HH:MM:SS</code>. Apabila saya memuatkan fail ini menggunakan perintah <kod>LOAD DATA</code> </p>
<p>Ini adalah ujian saya menggunakan pilihan <kod>STR_TO_DATE</code></p>
<p><strong>测试文件(test_temp.csv)</strong></p>
<pre class="brush:php;toolbar:false;">c1, c2
07-JUN-12 22:50:19, "abc"
07-JUN-13 22:50:19, "bcd"</pre>
<p><strong>测试表(temp_test)</strong></p>
<pre class="brush:php;toolbar:false;">huraikan temp_test;
+-------+-------------+------+-----+---------+---- ---+
| Medan | Taip | batal | Kunci | Lalai | Tambahan |
+-------+-------------+------+-----+---------+---- ---+
| c1 | tarikh masa | YA | | NULL | |
| c2 | varchar(10) | YA | | NULL | |
+-------+-------------+------+-----+---------+---- ---+</pra>
<p><strong>数据加载命令:</strong></p>
<pre class="brush:php;toolbar:false;">muat data
dalam fail '/var/lib/mysql/DataSet-1/temp_test.csv'
abai
ke dalam table temp_test
medan ditamatkan oleh ','
disertakan dengan '"'
baris ditamatkan dengan 'rn'
abaikan 1 baris
(@var_c1,c2)
set c1 = STR_TO_DATE(@var_c1,'%d-%b-%y %h:%i:%s');</pre>
<p><strong>输出</strong></p>
<pre class="brush:php;toolbar:false;">Soalan OK, 2 baris terjejas, 2 amaran (0.00 saat)
Rekod: 2 Dipadamkan: 0 Dilangkau: 0 Amaran: 0
MySQL> menunjukkan amaran;
+--------+------+------------------------------------ ----------------------------------------+
| Tahap | Kod | Mesej |
+--------+------+------------------------------------ ----------------------------------------+
| Ralat | 1411 | Nilai datetime salah: '07-JUN-12 22:50:19' untuk fungsi str_to_date |
| Ralat | 1411 | Nilai datetime salah: '07-JUN-13 22:50:19' untuk fungsi str_to_date |
+--------+------+---------------------------------- ----------------------------------------+
MySQL> pilih * daripada temp_test;
+------+------+
| c1 | c2 |
+------+------+
| NULL | abc |
| NULL | bcd |
+------+------+</pra>
<p>问题出在:</p>
<ol>
<li>输入日期列(应该是<kod>07-JUN-12</kod>还是<kod>07-Jun-12</kod>)/或<
<li>我的格式字符串(<kod>%d-%b-%y</code>)或</li>
<li>其他原因?</li>
</ol><p><br /></p>
milik anda
STR_TO_DATE()
的格式字符串无效。您的样本数据中的小时使用24小时制(%H
或%k
),而不是12小时制(%h
). Anda boleh melihat semua penentu format tarikh yang mungkin di sini.akan
telah diubah suai kepada
Kenyataan anda mungkin kelihatan seperti ini
Selepas memuatkan data sampel anda