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
是语法错误。它应该是
从用户中删除