我有一个MySQL数据库。所有字段,我分配,我有我的日期字段的日期戳。
它会像YYYY-MM-DD HH:MM:SS
一样自动生成2011-11-21 21:31:37
但是,我希望它在两个不同的列中这样做:
包含YYYY-MM-DD
或2011-11-21
包含HH:MM:SS
或21:31:37
这是我的插入php代码
$sql= "INSERT INTO `db`.`table` (`id` ,`fkid` ,`paid` ,`date`)
VALUES (NULL, '$userid', '0', CURRENT_TIMESTAMP);";
我已经尝试过CURRENT_DATESTAMP,但它不起作用。
问题的第二部分是:如何制作表格以便使用正确的代码?该字段的结构应该是类型文本还是日期?
答案 0 :(得分:5)
我不建议将时间戳拆分为单独的日期和时间列。相反,最简单的方法是使用DATETIME
列,并使用MySQL函数DATE()
和TIME()
查询其日期和时间部分:
SELECT DATE(`date`) AS d, TIME(`date`) AS t FROM db.dable;
插入时,您可以使用NOW()
功能设置当前时间戳。 `CURRENT_TIMESTAMP()
是NOW()
的同义词。
$sql= "INSERT INTO `db`.`table` (`id` ,`fkid` ,`paid` ,`date`)VALUES (NULL , '$userid', '0', NOW());";