Je développe un système de gestion des présences dans lequel je veux stocker le pointage dans le temps et l'heure de sortie comme horodatage dans la base de données. La requête de la table est comme indiqué:Ajout de l'horodatage multiple à la base de données MySQL
CREATE TABLE IF NOT EXISTS `punchdetails` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`employeeid` int(11) NOT NULL,
`punchin` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`punchout` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
`SERVER_ADDRIN` varchar(40) NOT NULL,
`REMOTE_ADDRIN` varchar(40) NOT NULL,
`REQUEST_TIMEIN` int(30) NOT NULL,
`SERVER_ADDROUT` varchar(40) NOT NULL,
`REMOTE_ADDROUT` varchar(40) NOT NULL,
`REQUEST_TIMEOUT` int(30) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
Lorsque l'employé est connecté au système à la première fois ce jour-là, il aura Punch In option Punchin pour la journée. Ensuite, le champ punchin doit être rempli avec l'horodatage actuel et le champ punchout doit être null uniquement. La valeur de punch out ne doit être insérée que lorsque vous cliquez sur le lien Punch Out.
Mais maintenant, quand je suis en train d'insérer la valeur à ne Punchin, à la fois Punchin et PunchOut sont insérés se.
Quelqu'un peut-il m'aider à résoudre ce problème?
peut-être que vous devriez aussi poster votre code de requête –
Les champs ne sont mis à jour s'ils sont inclus dans votre requête. – jeff
Essayez null au lieu de '0000-00-00 00:00:00'. Aussi, pourquoi voulez-vous mettre à jour l'horodatage punchin? De cette façon, punchin et punchout seront les mêmes à la fin. – Jonast92