68 votes

MySQL Workbench: comment configurer "ON UPDATE"? et CURRENT_TIMESTAMP?

VOIR: mise à Jour de la colonne timestamp dans l'Application ou Base de données?

Je suis en train de modéliser quelque chose de similaire dans Workbench, mais je ne sais pas où mettre le "À la mise à JOUR de la partie". Le mieux que je puisse obtenir est le suivant:

-- -----------------------------------------------------
-- Table `foo`.`test`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `foo`.`test` ;

CREATE  TABLE IF NOT EXISTS `foo`.`test` (
  `test_id` INT NOT NULL ,
  `date_created` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
  `date_updated` TIMESTAMP NOT NULL DEFAULT 0 ,
  PRIMARY KEY (`test_id`) )
ENGINE = InnoDB;

Où dois-je aller dans Workbench pour mettre en place ce SUR la mise à JOUR de la partie?

Aussi, j'ai une règle que tous les timestamps stockées dans la base de données doit être UTC. Comment puis-je faire CURRENT_TIMESTAMP, MAINTENANT, etc. UTC?

149voto

melihcelik Points 2411

Je suis de l'utilisation de MySQL Workbench 5.2.35. Ouvrez créer/modifier le tableau de bord, passer à l'onglet colonnes, cliquez du bouton droit sur le champ timestamp; là, vous pouvez voir les possibilités default et on update options.

Remarque importante: Vous pouvez utiliser CURRENT_TIMESTAMP comme valeur par défaut ou la valeur mise à jour pour une seule colonne dans un tableau!

Sample screenshot showing the context menu

Quant à l'UTC question, vous pouvez jeter un oeil à cette question. Il est accepté comme solution.

Je vous suggère de lire MySQL manuel de référence, aussi bien pour le type de données Timestamp et NOW() fonction.

-2voto

Ashwini Dhekane Points 1711

Par défaut , MySQL définit le premier timestamp champ CURRENT_TIMESTAMP sur tous les UPDATE ou INSERT déclaration. Je conçois mon schéma de manière à ce que updated_at soit le premier champ timestamp , de sorte que je n'ai pas à le spécifier explicitement.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X