我正在開發一個swing應用程序,在測試過程中,我遇到了一些更新數據的問題。MySQL自動更新日期字段
我有一個稱爲 '劑量' 表:
create table Dose (id_dose int auto_increment primary key ,
id_cmd varchar(50),
t_inj TimeStamp,
a_inj int,
id_e_d int,
id_dose_inc varchar(50),
poid int ,
Constraint fkk_et_doses foreign key (id_e_d) references Etat_dose (id_e_d),
Constraint fkk_et_cmds foreign key (id_cmd) references Commande (id_cmd)ON DELETE CASCADE);
的id_e_d字段引用在etat_dose表id_e_d:
create table Etat_dose (id_e_d int primary key,
libele varchar(50));
,當我將數據插入到它,一切正常,因爲我使用查詢:
Methodes.UpdateData("insert into Dose(id_cmd,t_inj,a_inj,id_e_d,id_dose_inc,poid) values (?,?,?,?,?,?)", dose, 6);
但是當我更新id_e_d時,Dose表中的T_inj自動更改爲系統日期。例如:
當我插入前:
insert into doses values(1,'CMFDG121031-1',' 2012-10-02 10:30:55',400,1,'CMFDG121031-1-1',30)
當我編輯我得到:
mysql> select * from dose where id_dose=1;
+---------+---------------+---------------------+-------+--------+-----------------+------+
| id_dose | id_cmd | t_inj | a_inj | id_e_d | id_dose_inc | poid
+---------+---------------+---------------------+-------+--------+-----------------+------+
| 1 | CMFDG121031-1 | 2012-10-02 10:30:55 | 400 | 1 | CMFDG121031-1-1 | 30 |
+---------+---------------+---------------------+-------+--------+-------------------------
在更新
我執行:
update dose set id_e_d=2 where id_dose=1
我得到:
mysql> select * from dose where id_dose=1;
+---------+---------------+---------------------+-------+--------+-----------------+------+
| id_dose | id_cmd | t_inj | a_inj | id_e_d | id_dose_inc | poid
+---------+---------------+---------------------+-------+--------+-----------------+------+
| 1 | CMFDG121031-1 | 2012-10-08 16:15:11 | 400 | 2 | CMFDG121031-1-1 | 30 |
+---------+---------------+---------------------+-------+--------+-------------------------
正如你所看到的的值T_inj已被自動更改。我能做些什麼來追蹤這個錯誤。
那就是(第一)'timestamp'表的列的默認行爲。 –