Php 从表中删除所有行,并重置自动递增
代码如下。好像当我运行这个文件时,它什么都没做Php 从表中删除所有行,并重置自动递增,php,mysql,sql,Php,Mysql,Sql,代码如下。好像当我运行这个文件时,它什么都没做 header('Content-Type: application/json'); $DB = new mysqli("localhost", "root", "root", "friendslist"); if($DB->connect_errno) { die("Connect failed: ". $DB->connect_error); } $DB->query("DELETE * FROM users");
header('Content-Type: application/json');
$DB = new mysqli("localhost", "root", "root", "friendslist");
if($DB->connect_errno) {
die("Connect failed: ". $DB->connect_error);
}
$DB->query("DELETE * FROM users");
$DB->query("ALTER TABLE users AUTO_INCREMENT = 1");
$DB->close();
echo json_encode(Array('status' => 'ok'));
我认为您必须从删除查询中删除
*
header('Content-Type: application/json');
$DB = new mysqli("localhost", "root", "root", "friendslist");
if($DB->connect_errno) {
die("Connect failed: ". $DB->connect_error);
}
$DB->query("DELETE FROM users");// Remove * from here
$DB->query("ALTER TABLE users AUTO_INCREMENT = 1");
$DB->close();
echo json_encode(Array('status' => 'ok'));
我认为您必须从删除查询中删除
*
header('Content-Type: application/json');
$DB = new mysqli("localhost", "root", "root", "friendslist");
if($DB->connect_errno) {
die("Connect failed: ". $DB->connect_error);
}
$DB->query("DELETE FROM users");// Remove * from here
$DB->query("ALTER TABLE users AUTO_INCREMENT = 1");
$DB->close();
echo json_encode(Array('status' => 'ok'));
您的查询语法不正确。如果阅读,您将看到
DELETE
的有效语法为:
DELETE FROM users
或:
其中,*
在第二个版本中是可选的。但是DELETE*
无效
您也可以使用TRUNCATE tablename
一步删除表中的所有内容并重置自动增量ID
您还应检查查询是否成功:
$DB->query("DELETE * FROM users") or die ($DB->error);
会告诉你有语法错误。然后,我相信您会检查文档以了解正确的语法,并立即修复它,而不是通过缓慢的方式向SO发布问题。您的查询语法不正确。如果阅读,您将看到
DELETE
的有效语法为:
DELETE FROM users
或:
其中,*
在第二个版本中是可选的。但是DELETE*
无效
您也可以使用TRUNCATE tablename
一步删除表中的所有内容并重置自动增量ID
您还应检查查询是否成功:
$DB->query("DELETE * FROM users") or die ($DB->error);
会告诉你有语法错误。然后,我相信您会检查文档以了解正确的语法,并立即修复它,而不是通过缓慢的方式向SO发帖。首先,您的delete systex错误,这会为您的代码生成错误 其次,您应该使用truncate而不是delete,因为它们使用两种不同的方法
截断表tablename代码>实际删除并重新创建表,使其速度更快,并将自动增量种子值重置为1
鉴于,从tablename中删除代码>删除表中的所有数据。它不像使用“TRUNCATE TABLE”方法那样快,它保留了与以前一样的自动递增种子值
因此,您可以使用以下选项:
if($DB->query("TRUNCATE TABLE users"))
echo json_encode(Array('status' => 'ok'));
else echo json_encode(Array('status' => $DB->error));
您将从响应中得到问题。首先,您的删除systex错误,这将为您的代码生成错误
其次,您应该使用truncate而不是delete,因为它们使用两种不同的方法
截断表tablename代码>实际删除并重新创建表,使其速度更快,并将自动增量种子值重置为1
鉴于,从tablename中删除代码>删除表中的所有数据。它不像使用“TRUNCATE TABLE”方法那样快,它保留了与以前一样的自动递增种子值
因此,您可以使用以下选项:
if($DB->query("TRUNCATE TABLE users"))
echo json_encode(Array('status' => 'ok'));
else echo json_encode(Array('status' => $DB->error));
您将从响应中得到问题。您应该使用TRUNCATE not DELETE您应该检查$DB->query()
DELETE*from users
中的错误是语法错误。它应该是DELETE FROM users
。您应该使用TRUNCATE not DELETE。您应该检查$DB->query()
中的错误DELETE*FROM users
是语法错误。它应该是从用户中删除
。