【问题标题】:Delete query not working in mysql删除查询在mysql中不起作用
【发布时间】:2014-06-12 11:03:40
【问题描述】:

我正在尝试从名为 user_enrole 的表中删除所有记录。我正在使用此查询

DELETE * FROM user_enrole

我认为我的查询语法没有错,但它给了我错误提示

#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册以获取正确的语法使用 在第 1 行的“* FROM user_enrole”附近

我已经仔细检查了我的语法,我无法弄清楚出了什么问题,请有人指出。

是因为这个表与使用表的关系还是什么?

【问题讨论】:

  • "near '*" 告诉你错误从哪里开始

标签: mysql sql


【解决方案1】:

您不需要在删除中使用星号。只需执行DELETE FROM user_enrole 即可删除所有记录。

如果您想删除由一个或多个条件过滤的特定记录,您将在WHERE 子句中指定这些条件,如下所示:

DELETE FROM user_enrole
WHERE somecolumn > 1
AND anothercolumn = 'Username'

【讨论】:

    【解决方案2】:

    当您写SELECT * FROM... 时,* 表示一切,即所有字段。行的所有部分。删除时使用相同的语法是没有意义的,因为您只能删除整行。这就是为什么语法是DELETE FROM...

    【讨论】:

      【解决方案3】:

      最好使用“TRUNCATE TABLE user_enroll”,因为它只删除所有行,速度要快得多。 comparison of truncate vs delete in mysql/sqlserver

      【讨论】:

        【解决方案4】:

        我现在正在对此进行输入,因为我遇到了同样的问题。当我得到真实答案时,它没有帮助。可能是因为问题没有给出所有相关脚本的完整描述:HTML、Javascript、php 等。 下面是我用来从数据库表中删除的正确 php 脚本的结构

        <?php
        $servername = "localhost";
        $username = "user";
        $password = "0007";
        $dbname = "CRCSystems";
        // Create connection
        $conn = mysqli_connect($servername, $username, $password, $dbname);
        // Check connection
        if (!$conn) {
            die("Connection failed: " . mysqli_connect_error());
        }
        $tblname = test_input($_POST["tblname"]);
        $names = test_input($_POST["names"]);
            function test_input($data) {
            $data = trim($data);
            $data = stripslashes($data);
            $data = htmlspecialchars($data);
            return $data;
        }
        $sql = "SELECT * FROM $tblname WHERE Names = '$names'";
        if (mysqli_query($conn, $sql)) {
            $result = mysqli_query($conn, $sql);
            $row = mysqli_fetch_row($result);
            if ($row) {
                $sql = "DELETE FROM $tblname WHERE Names = '$names'";
                $result = mysqli_query($conn, $sql);
                echo 1;         //record deleted    
            } else {
                echo 0;         //record does not exist 
            }
        }
        mysqli_close($conn);
        ?>
        

        【讨论】:

          猜你喜欢
          • 2015-02-02
          • 1970-01-01
          • 2017-08-05
          • 2017-02-25
          • 1970-01-01
          • 1970-01-01
          • 2015-10-01
          • 2015-03-25
          • 1970-01-01
          相关资源
          最近更新 更多