在phpMyAdmin中删除MYSQL表中的所有logging
我使用wampserver 2.2。 当我想删除phpMyAdmin中一个表的所有logging(全选)时,它只删除一条logging而不是全部logging。 为什么它不删除所有logging?
去你的数据库 – >结构,并在所需的表空。 看这里:
你有2个选项delete
和truncate
:
1) delete from mytable
:这将删除表中的所有内容,而不是重新设置autoincremental id,这个过程非常缓慢。 如果你想删除特定的logging在最后附加一个where子句。
2) truncate myTable
:这将重置表,即所有的自动增量字段将被重置。 它是一个DDL,速度非常快。 您不能通过truncate
删除任何特定的logging
转到Sql选项卡运行下面的查询之一:
delete from tableName;
删除 :将删除您的表中的所有行。 下一个插入将采取下一个自动增量ID。
要么
truncate tableName;
截断 :也将删除您的表中的行,但它将从新行开始1。
具有示例的详细博客: http : //sforsuresh.in/phpmyadmin-deleting-rows-mysql-table/
使用这个查询:
DELETE FROM tableName;
注意:要删除一些特定的logging,您也可以在查询的where子句中给出条件。
或者你也可以使用这个查询:
truncate tableName;
另外请记住,你不应该与其他表有任何关系。 如果表中有任何外键约束,那么这些logging将不会被删除,并会出现错误。
你可以使用这个命令删除所有的行。但是记住一件事情,一旦你使用截断,你不能回滚它。
truncate tableName;
“Truncate tableName”将在定义了键约束的表上失败 。 它也不会重新索引表AUTO_INCREMENT
值。 相反,删除所有表条目,并重置索引回到1使用这个SQL语法:
DELETE FROM tableName; ALTER TABLE tableName AUTO_INCREMENT = 1
一个有趣的事实。
我确定TRUNCATE总是会执行得更好,但在我的情况下,对于大约30个具有外键的表的db,只填充了几行,大约需要12秒来截断所有表,而不是仅仅几百毫秒删除行。 设置自动增量总共增加了大约一秒,但仍然好很多。
所以我会build议尝试两个,看你的情况更快的作品。
写查询:truncate'Your_table_name';