我想使用phpMyAdmin直接添加到我的数据库中,并且我希望id是当前时间,所以我使用TIMESTAMP
。问题是,我得到的输出是2014-07-19 15:37:32
,而我希望它是一个类似2147483647
的字符串(我认为这是以秒为单位的日期和时间),这样我就可以使用php在web文档中对其进行格式化。
如何让它放置数字字符串而不是日期格式?
发布于 2014-07-19 22:49:23
要获取秒数,您可以轻松使用UNIX_TIMESTAMP(https://dev.mysql.com/doc/refman/5.6/en/date-and-time-functions.html#function_unix-timestamp):
SELECT
UNIX_TIMESTAMP(your_timestamp_column) as yourformat;
我不认为使用它来标识行是一个好主意,因为在同一秒内很容易有多个插入操作。你最好使用一个简单的自动增量列。
编辑
如果您的列应该是CHAR列,则可以使用
INSERT INTO yourtable (id, ...) VALUES
(CAST(UNIX_TIMESTAMP() AS CHAR(10), ...);
但我更喜欢对列使用整数类型,而不是字符串类型。
timestamp类型是一个unix时间戳,它不同于字符串,也不同于MySQL时间戳。
发布于 2014-07-19 23:42:21
您需要格式化日期:
SELECT DATE_FORMAT( NOW( ) , '%d%m%Y' )
使用DATE_FORMAT
方法获取19072014
日期-月-年的时间
INSERT INTO tablename (id, ...) VALUES
(DATE_FORMAT( NOW( ) , '%d%m%Y' ) , ...);
发布于 2014-07-20 01:36:26
我不认为时间戳是你想的那样。您看过data types上的MySQL文档吗
我认为你应该使用DATETIME。如果您设置了使用从纪元开始的秒数系统(建议将其存储为整数),则VMai有一个很好的方法,但是由于您在数据库中存储日期和时间,您应该利用设计用于存储日期和时间的数据类型:-)如果您将其存储为DATETIME,您将获得一些额外的好处(人类可读,能够应用时区和夏令时/标准时间转换,等等),并且您可以在选择中将其转换为UNIX_TYPESTAMP,这样您的应用程序就不需要更改。
我还发现http://www.developwebsites.net/choose-optimal-mysql-data-type/非常有用。
https://stackoverflow.com/questions/24841558
复制相似问题