Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.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
Php 删除mysql数据库中表的n行_Php_Mysql_Mysqli - Fatal编程技术网

Php 删除mysql数据库中表的n行

Php 删除mysql数据库中表的n行,php,mysql,mysqli,Php,Mysql,Mysqli,我希望我的表最多有10行记录。我将运行cronjob并检查表中是否存在记录 为此,我将首先插入尽可能多的不存在的记录,然后删除插入的n行,使该行最多保持10行 如何编写删除查询 首先发出一个简单的请求来收集表中的行总数。然后通过添加一个等于总数减去10的限制子句来运行delete查询。例如,对于包含100个条目的表,假设您希望首先删除最旧的条目,并且该表在已创建的_at属性中具有时间戳: DELETE FROM mytable ORDER BY created_at ASC LIMIT 90

我希望我的表最多有10行记录。我将运行cronjob并检查表中是否存在记录

为此,我将首先插入尽可能多的不存在的记录,然后删除插入的n行,使该行最多保持10行


如何编写删除查询

首先发出一个简单的请求来收集表中的行总数。然后通过添加一个等于总数减去10的限制子句来运行delete查询。例如,对于包含100个条目的表,假设您希望首先删除最旧的条目,并且该表在已创建的_at属性中具有时间戳:

DELETE FROM mytable ORDER BY created_at ASC LIMIT 90

你为什么不告诉我们你已经尝试了什么呢?asc是order by的一部分,所以如果你不需要订购该列,它就不是必需的。limit是删除的行数。因此,键只是按顺序排列,并使用limit删除最长的10行?但是你使用限制90,这意味着什么?如果我插入3个新行,我应该删除。。限制3保持行的最大值为10,对吗?将限制保持为10,如果行总数与10之间的差值为负数或0,只需不删除任何内容,即不运行删除查询。