Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从MYSQL中删除超过X天的数据,Unix时间以毫秒为单位_Mysql_Sql_Time_Unix Timestamp - Fatal编程技术网

从MYSQL中删除超过X天的数据,Unix时间以毫秒为单位

从MYSQL中删除超过X天的数据,Unix时间以毫秒为单位,mysql,sql,time,unix-timestamp,Mysql,Sql,Time,Unix Timestamp,我想从数据库中的特定表中删除时间戳早于180天的所有行 我已经尝试了以下方法: DELETE FROM on_search WHERE time < UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 30 DAY)); 但是时间是13位数的unix格式,比如1543821263977 UNIX_TIMESTAMP(NOW()) 以秒为单位返回时间 你必须将它乘以1000,以使它在毫秒内达到13位时间 DELETE FROM on_search WHER

我想从数据库中的特定表中删除时间戳早于180天的所有行

我已经尝试了以下方法:

DELETE FROM on_search 
WHERE time < UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 30 DAY));
但是时间是13位数的unix格式,比如1543821263977

UNIX_TIMESTAMP(NOW())
以秒为单位返回时间

你必须将它乘以1000,以使它在毫秒内达到13位时间

DELETE FROM on_search 
WHERE time < UNIX_TIMESTAMP(DATE_SUB(NOW(3), INTERVAL 30 DAY))*1000;

将其乘以1000,您将有时间(以毫秒为单位),从时间列开始,其中时间