Méthode pour empêcher que deux colonnes NOW() soient mises à jour en même temps lors de la mise à jour NOW() d'une colonne
P粉043566314
P粉043566314 2024-04-04 21:34:34
0
1
401

J'ai une table qui nécessite deux heures actuelles différentes. Tout d'abord, j'ai une procédure d'insertion qui insère le numéro d'action, msgSentFrom_F_ID, msgSentTo_M_ID et sentDate. Deuxièmement, mettez à jour le processus de mise à jour de responsDate. Mon problème est que lorsque je mets à jour AnswerDate, sentDate est mis à jour en même temps que lorsque je mets à jour ResponseDate. Qu'ai-je fait de mal? (Mon intention est que je souhaite que la date d'envoi soit l'heure actuelle à laquelle j'insère et une autre heure actuelle à laquelle je mets à jour la date de réponse.)

CREATE TABLE IF NOT EXISTS actions (
  actionnumber INT AUTO_INCREMENT PRIMARY KEY,
  msgSentFrom_F_ID INT, 
  msgSentTo_M_ID INT,
  sentDate TIMESTAMP,
  respondDate TIMESTAMP NULL,
  FOREIGN KEY (msgSentFrom_F_ID) 
    REFERENCES femaleUsers(femaleuserId)
  FOREIGN KEY (msgSentTo_M_ID) 
    REFERENCES maleUsers(maleuserId)
);

DELIMITER //
create procedure (param_F_ID INT,param_M_ID INT,Sdate TIMESTAMP)
  BEGIN
  INSERT INTO actions (msgSentFrom_F_ID, msgSentTo_M_ID, sentDate) 
    VALUES (param_F_ID,param_M_ID,Now());
  END; //
DELIMITER ;

CALL insert_actions ('5','5',NOW());

DELIMITER //
create procedure update_respondDate (param_ActionNum INT, 
    param_respondDate TIMESTAMP)
  BEGIN
  UPDATE actions set respondDate = param_respondDate 
  WHERE  actionnumber = param_ActionNum;
  END; //
DELIMITER ;

CALL update_respondDate('6',NOW());

P粉043566314
P粉043566314

répondre à tous(1)
P粉574695215

On dirait que vous avez désactivé les variables système explicit_defaults_for_timestamp . La Documentation explique ce résultat : p>

Grâce à la colonne sentDate 是表中的第一个 TIMESTAMP, chaque fois que vous apportez des modifications à la ligne, elle sera automatiquement réglée sur l'heure actuelle.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!