Quel est le bon format DateTime de MySQL Base de données?
Je suis d'Insérer cette DateTime
données '12/21/2012 1:13:58 PM'
dans ma Base de données MySQL à l'aide de cette chaîne SQL:
String Query = "INSERT INTO `restaurantdb`.`stocksdb`
(`stock_ID`,`stock_dateUpdated`)
VALUES ('@stockID' '@dateUpdated');
et je reçois ce message d'erreur:
Incorrect datetime value: '12/21/2012 1:13:58 PM' for column 'stock_dateUpdated' at row 1
Alors quel est le bon format/valeur pour dateTime
à l'entrée dans une base de données MySQL?
changer les VALEURS ('@stockID' '@dateUpdated'); pour les VALEURS de ('@stockID', '@dateUpdated'); et cela devrait fonctionner
u peut fournir le tableau sturucture ou type de données "stock_dateUpdated" colonne
Virgule manquant dans
u peut fournir le tableau sturucture ou type de données "stock_dateUpdated" colonne
Virgule manquant dans
VALUES
..OriginalL'auteur John Ernest Guadalupe | 2012-12-21
Vous devez vous connecter pour publier un commentaire.
Q: Quel est le bon format/valeur pour
DATETIME
littérale dans une base de données MySQL déclaration?Un: Dans MySQL, le format standard pour un
DATETIME
littérale est:avec le temps composant comme une horloge de 24 heures (c'est à dire, les chiffres de l'heure prévue comme une valeur entre 00 et 23).
MySQL fournit une fonction builtin
STR_TO_DATE
qui peut convertir les chaînes de caractères dans les différents formats deDATE
ouDATETIME
les types de données.Donc, comme une alternative, vous pouvez également spécifier la valeur d'un
DATETIME
avec un appel à cette fonction, comme ceci:Donc, vous pourriez avoir à MySQL de faire la conversion pour vous dans la
INSERT
déclaration, si votreVALUES
liste ressemble à ceci:(J'ai remarqué que vous avez un nécessaire virgule manquant entre les deux littéraux dans votre
VALUES
liste.)MySQL n'est laisser une certaine latitude dans les délimiteurs entre les parties de la
DATETIME
littérale, de sorte qu'ils ne sont pas strictement nécessaires.MySQL 5.5 Manuel De Référence.
OriginalL'auteur spencer7593
Ce que j'ai utilisé qui fonctionne est année-mois-jour, avec 24 heures de temps. En PHP c'est
date('Y-m-d H:i:s')
, qui je pense correspond àyyyy-MM-dd HH:mm:ss
en C#/.NET. (Le temps de la partie est facultative, et sont donc les tirets.)Confirmé dans les docs, La Date et l'Heure Littéraux:
OriginalL'auteur McGarnagle
Comme mentionné dans le commentaire, il vous manque le délimiteur
,
dans les valeurs. Aussi de mieux utiliserSTR_TO_DATE
pour convertir une chaîne en un objet date de la première avant de l'insérer comme:OriginalL'auteur Yogendra Singh
MySql format DATETIME est AAAA-MM-JJ HH:MM:SS - Voir cette page
OriginalL'auteur Ed Heal