php - 截断 MySQL 中的空表

标签 php mysql

我正在尝试这样做:

mysql_query("IF(SELECT COUNT( * ) FROM`messages`) = 0 {
        ALTER TABLE `messages` AUTO_INCREMENT = 1
    }
    IF(SELECT COUNT( * ) FROM`chats`) = 0 {
        ALTER TABLE `chats` AUTO_INCREMENT = 1
    }
    IF((SELECT COUNT( * ) FROM`messages`) = 0 && (SELECT COUNT( * ) FROM`chats`)) {
        ALTER TABLE `users` AUTO_INCREMENT = 1
    }");

但这是不正确的

如果消息和聊天为空,我需要重置消息中的 A_I;如果消息和聊天为空,我需要重置聊天中的 A_I;如果消息和聊天为空,我需要重置用户中的 A_I

我有自动增量id,截断后它将从1开始计数

你有什么想法吗?

我需要一个查询来使用我编写的逻辑重置 3 个表中的自动增量

最佳答案

试试这个:

ALTER TABLE `table` AUTO_INCREMENT = 1

顺便说一句,你有一个括号问题,你应该将你的条件括在括号中。

IF ((SELECT COUNT( * ) FROM`chats`) = 0) {

关于php - 截断 MySQL 中的空表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18402915/

相关文章:

php - AJAX请求不显示信息

php - 绑定(bind)参数计数第一个参数

javascript - 如何将翻译后的文本插入数据库php

php - POST 表单上的 Laravel MethodNotAllowedHttpException

php - 如何在相同的id但不同的列值下插入值?

mysql - ERROR 2006 (HY000) 行 MySQL 服务器已消失

php - 什么是 ASP.Net 等价于 PHP 的 Echo?

php - 当请求中有特殊字符时重定向到 root - laravel 5

mysql:无法识别的语句类型。 (靠近 SCHEDULE)尝试创建事件日程时

MySQL查询获取与主从表分隔的值逗号