Le format de date par défaut pour une colonne de date dans MySQL est AAAA-MM-JJ HH:MM:SS
.
Le fichier de données que j'essaie de charger comporte un champ de date au format DD-MON-YY HH:MM:SS
. Lorsque je charge ce fichier à l'aide de la commande LOAD DATA
, la base de données est confuse et définit toutes les entrées de date sur 0000-00-00 00:00:00
C'est mon test utilisant l'option STR_TO_DATE
mais cela ne fonctionne pas.
测试文件(test_temp.csv)
c1, c2 07 JUIN 12 22:50:19, "abc" 07-JUN-13 22:50:19, "bcd"
测试表(temp_test)
décrire temp_test; +-------+--------+------+-----+---------+---- ---+ | Champ | Tapez | Nulle | Clé | Par défaut | Supplémentaire | +-------+--------+------+-----+---------+---- ---+ | c1 | dateheure | OUI | | NULL | | | c2 | varchar(10) | OUI | | NULL | | +-------+--------+------+-----+---------+---- ---+≪/pré>数据加载命令:
charger les données fichier '/var/lib/mysql/DataSet-1/temp_test.csv' ignorer dans la table temp_test champs terminés par ',' enfermé par '"' lignes terminées par 'rn' ignorer 1 ligne (@var_c1,c2) set c1 = STR_TO_DATE (@var_c1,'%d-%b-%y %h:%i:%s');输出
Requête OK, 2 lignes affectées, 2 avertissements (0,00 sec) Enregistrements : 2 Supprimés : 0 Ignorés : 0 Avertissements : 0 MySQL> afficher des avertissements ; +-------+------+---------------------------------- ---------------------------------------+ | Niveau | Codes | Messages | +-------+------+---------------------------------- ---------------------------------------+ | Erreur | 1411 | Valeur datetime incorrecte : '07-JUN-12 22:50:19' pour la fonction str_to_date | | Erreur | 1411 | Valeur datetime incorrecte : '07-JUN-13 22:50:19' pour la fonction str_to_date | +-------+------+---------------------------------- ---------------------------------------+ MySQL> sélectionnez * dans temp_test ; +------+------+ | c1 | c2 | +------+------+ | NULL | abc | | NULL | bcd | +------+------+问题出在:
- 输入日期列(应该是
07-JUN-12
还是07-Jun-12
)或- 我的格式字符串(
%d-%b-%y
)或- 其他原因?
le vôtre
STR_TO_DATE()
的格式字符串无效。您的样本数据中的小时使用24小时制(%H
或%k
),而不是12小时制(%h
). Vous pouvez voir tous les spécificateurs de format de date possiblesici.volonté
a été modifié en
Votre déclaration pourrait ressembler à ceci
Après le chargement de vos exemples de données