problema coerenza semantica

Ciao ragazzi, ho un dubbio!

Ho creato una tabella di questo tipo:

CREATE TABLE `tabella_reality_mining_1` (

`ID` int(10) unsigned NOT NULL AUTO_INCREMENT,

`person_oid` int(11) NOT NULL DEFAULT '0',

`date` date DEFAULT NULL,

`end_time` time DEFAULT NULL,

`endtime` varchar(20) DEFAULT NULL,

`starttime` varchar(20) DEFAULT NULL,

`duration` int(11) DEFAULT NULL,

`name` char(255) NOT NULL DEFAULT '',

`description` varchar(50) DEFAULT NULL,

`direction` varchar(50) DEFAULT NULL,

PRIMARY KEY (`ID`),

KEY `NewIndex1` (`person_oid`,`endtime`,`starttime`,`duration`,`name`) USING BTREE

) ENGINE=InnoDB AUTO_INCREMENT=3109470 DEFAULT CHARSET=latin1

Ho notato, però, che quando faccio delle elaborazioni su di essa, al campo 'duration' non è più associato il valore (endtime-starttime), come invece dovrebbe essere. Come devo fare per mantenere sempre coerenti questi campi? Devo forse dichiarare come PRIMARY KEY ('ID','endtime','starttime','duration')?

Grazie

inviato 6 anni fa
lilux
X 0 X

Vorresti che il campo duration automaticamente venisse aggiornato quando cambia endtime o starttime?

Dovresti modificare il codice che effettua tali modifiche oppure dovresti creare un trigger sulla tabella in questione

 :bye:

risposto 6 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda