单击清除按钮后使用多查询功能修改表

Posted

技术标签:

【中文标题】单击清除按钮后使用多查询功能修改表【英文标题】:Using the multi query function to modify table after clear button is clicked 【发布时间】:2016-04-23 21:28:37 【问题描述】:

$DBConnect = @mysqli_connect("localhost", "username", "password")

$query = "从计数器中删除";

$query = "ALTER TABLE hitcounter AUTO_INCREMENT=0";

if (isset($_POST['clear']))

(mysqli_multi_query($DBConnect,$query))

// 我做了一个点击计数器,在页面上显示点击数

// 我只剩下重置按钮,在按下清除按钮后将页面点击数设为 0

// 我无法执行查询

【问题讨论】:

忽略您在查询变量声明中犯的错误,我建议您使用TRUNCATE TABLE hitcounter 【参考方案1】:

你可以使用:

$query = "TRUNCATE TABLE hitcounter;"

这将删除所有行并将 auto_increment 重置为 0 以及仅在一个查询中。

编辑:

这不适用于 InnoDB 表,只要它们有关系

【讨论】:

这应该是公认的答案。它比执行两个查询要高效得多。【参考方案2】:

我不知道您遇到了什么错误,但您需要更改您的 php 代码,如下所示:

$query = "DELETE FROM hitcounter;";

$query .= "ALTER TABLE hitcounter AUTO_INCREMENT=0;";

第一个查询需要终止;第二行应附加到字符串。如所写,它将覆盖。所以唯一执行的语句是 ALTER TABLE。

这将解决您关于多查询的代码问题,但正如其他人所指出的,使用 TRUNCATE TABLE 更适合这项工作

【讨论】:

这可能是因为缺少 ;在(mysqli_multi_query($DBConnect,$query)) 的末尾。您也不需要 ( ) 的外部集合,您应该捕获返回值以检查错误。 好的,谢谢我添加了;我没有收到错误,但我认为查询没有被执行。我正在制作一个计数器网页,该网页计算网页上的点击次数并包含一个清除按钮。单击后的清除按钮应将点击的值更改为 0。 您应该遵循其他答案的建议并切换到 TRUNCATE 和单查询。这样更好。

以上是关于单击清除按钮后使用多查询功能修改表的主要内容,如果未能解决你的问题,请参考以下文章

选择 datagridview其中的一行 然后在单击修改按钮 ,页面跳转

SQL 中UPDATE用法

关于修改表的问题

怎么设置表对象聘用时间的字段默认为系统当前日期

表单单选多选项清除默认样式小技巧

sql2019建完表不能执行