2 CURRENT_TIMESTAMP dans une table

Signaler
Messages postés
192
Date d'inscription
dimanche 23 janvier 2005
Statut
Membre
Dernière intervention
10 août 2009
-
Messages postés
1154
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
15 août 2009
-
Bonjour et Happy New Year à tous les programmeurs.

J'ai un petit problème sur l'une de mes tables ci-dessous:

CREATE TABLE `setting_group` (
`id_group` SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
`name` VARCHAR(50) NOT NULL DEFAULT '',
`create_date` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
`modified_date` TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)

Et MySQL me renvoit le message:
#1293 - Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause

J'ai bien compris le message, je ne peux utiliser 
qu'une seule fois 
CURRENT_TIMESTAMP sur une table.


Est-ce que quelqu'un à une astuce pour contourner ce problème ?
Car j'aimerais pouvoir indiquer la date de création ainsi que la date de modification du groupe sur une seule table.

Merci d'avance

3 réponses

Messages postés
1154
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
15 août 2009
14
http://mysql.ifrance.com/showthread.php?t=4774 : "The only way to have more than one TIMESTAMP column, when one is
declared with either DEFAULT CURRENT_TIMESTAMP or ON UPDATE
CURRENT_TIMESTAMP or both, is to force the other timestamp column
default to a valid timestamp value, such as 20070101000000."

Je te proposes de faire ainsi:
CREATETABLE`setting_group`(
`id_group`SMALLINTUNSIGNEDNOTNULLAUTO_INCREMENTPRIMARYKEY,
`name`VARCHAR(50)NOTNULLDEFAULT'',
`create_date`TIMESTAMPDEFAULT'0000-00-00 00:00:00',
`modified_date`TIMESTAMPONUPDATECURRENT_TIMESTAMP
)

et dans ton code PHP, lorsque tu fais l'insert dans cette table, tu mets NOW() pour create_date

*****
noisy communication - wherever, be everywhere!
Messages postés
192
Date d'inscription
dimanche 23 janvier 2005
Statut
Membre
Dernière intervention
10 août 2009

Oué j'y avais déja pensé, mais j'aimerais que cela se fasse automatiquement par la base de donées.
Messages postés
1154
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
15 août 2009
14
ben tu peux pas. mysql ne l'autorise pas

*****
noisy communication - wherever, be everywhere!