在我的文档表中,我有一个created_date
字段,它占用了今天的时间和日期,并将其放入名为created_date的字段中,该字段效果很好 - 我在updated_date
行上有一个额外的字段,我当我回去编辑文档时需要插入或更新 - 这是我当前更新行的方法:
$q = "UPDATE docs SET doc_name='$dn', doc_content='$dc' WHERE doc_id=$id LIMIT 1";
我不确定updated_date在SQL内部的位置或者是否需要插入?
答案 0 :(得分:0)
尝试更改字段类型,
ALTER TABLE your_table CHANGE updated_date updated_date TIMESTAMP NOT NULL
DEFAULT CURRENT_TIMESTAMP
任何更新字段updated_date
将被设置为当前时间戳
答案 1 :(得分:0)
如果您只想将时间戳作为查询的一部分,请将您的查询替换为:
UPDATE docs
SET
doc_name='$dn',
doc_content='$dc',
updated_date=now()
WHERE doc_id=$id LIMIT 1
如果您希望在有人更新该表中的行时自动发生,则create a trigger。您只需执行一次此语句,然后将来对该表的所有更新都会导致更改的行将其updated_date设置为当前日期/时间。
create trigger docs_trigger_updated after update on docs
for each row set NEW.updated_date = now();
你也可以在触发器中做其他很酷的事情,包括阻止查询更改created_date等等。更多信息and examples for triggers。