Maison > base de données > tutoriel mysql > Comment définir la valeur par défaut d'une colonne d'horodatage sur CURRENT_TIMESTAMP dans les migrations Laravel ?

Comment définir la valeur par défaut d'une colonne d'horodatage sur CURRENT_TIMESTAMP dans les migrations Laravel ?

Linda Hamilton
Libérer: 2024-12-03 02:44:14
original
285 Les gens l'ont consulté

How to Set a Timestamp Column's Default Value to CURRENT_TIMESTAMP in Laravel Migrations?

Définition de la valeur par défaut de la colonne d'horodatage sur l'horodatage actuel avec les migrations Laravel

Question :

Comment puis-je créer une colonne d'horodatage avec une valeur par défaut de CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP à l'aide du schéma Laravel Constructeur/Migrations ?

Réponse :

Utilisation de DB::raw() (toutes les bases de données) :

$table->timestamp('created_at')->default(DB::raw('CURRENT_TIMESTAMP'));
Copier après la connexion

Utilisation de useCurrent () (Laravel 5.1.25 ):

$table->timestamp('created_at')->useCurrent();
Copier après la connexion

Pour MySQL uniquement :

Utilisation de DB::raw() avec ON UPDATE :

$table->timestamp('updated_at')->default(DB::raw('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'));
Copier après la connexion

Utilisation de useCurrent() et useCurrentOnUpdate() (Laravel 8.36.0 ):

$table->timestamp('updated_at')->useCurrent()->useCurrentOnUpdate();
Copier après la connexion

Les pièges :

  • MySQL :

    • À partir de MySQL 5.7, 0000-00-00 00:00:00 n’est pas une date valide. Colonnes d'horodatage par défaut sur les horodatages actuels à l'aide de useCurrent(), ou rendez-les nullables.
  • PostgreSQL et Laravel 4.x :

    • Spécifiez explicitement une précision de zéro pour CURRENT_TIMESTAMP pour éviter les erreurs d'analyse. (Depuis Laravel 5.0, la précision est définie sur zéro par défaut.)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal