PHP MYSQL手动更新db中的DATE和TIME字段

时间:2011-07-07 20:52:01

标签: php mysql database

我试图弄清楚如何手动更新MYSQL DATE和TIME字段(不是今天的日期!),即在正确的SQL中将日期字段设置为某个特定时间字段的特定日期值和时间字段必填字段格式。

我正在使用UPDATE查询而不是INSERT,因为我的操作是更新用户字段

完成了一些研究,并提出了一些事情(显然这个例子不起作用,但有人知道如何格式化这个查询吗?

UPDATE mytblname SET date='DATE: Manual Date', '2011-06-14'', time='TIME: Manual Time', '12:10:00' WHERE email='somevalue'

如果我只是以正常的SQL方式输入值,它会给出日期和00:00:00的制造商的时间 - 即

SET date='2011-06-14',time='12:33:35'

感谢您的任何建议,非常感谢!!!

2 个答案:

答案 0 :(得分:11)

UPDATE mytblname SET `date`="2011-06-14", `time`="12:10:00" WHERE email="somevalue";

这应该可以正常工作。确保在datetime附近有适当的反对。

答案 1 :(得分:1)

请参阅MySQL Documentation on DATE, TIME and DATETIME formats。您可以在那里看到,可以为这些类型的字段分配值的多种可能性。

所以这应该有效:

UPDATE `mytblname` SET `date`=NOW(), `time`=NOW() WHERE `email`='somevalue';

或任何特定日期(字符串将自动转换为DATE,TIME或DATETIME格式):

UPDATE `mytblname`
SET
`date`='1987-01-02 11:22:33',
`time`='1987-01-02 11:22:33'
WHERE `email`='somevalue';

你也可以这样分配,更清楚:

UPDATE `mytblname`
SET
`date`='1987-01-02',
`time`='11:22:33'
WHERE `email`='somevalue';

唯一的问题是,您选择哪条路径:)