我使用的是wampserver 2.2。当我想删除phpMyAdmin中一个表的所有记录时(全选),它只删除了一条记录而不是所有记录。为什么它不删除所有记录呢?
uujelgoq1#
您有两个选项delete和truncate:
delete
truncate
delete from mytable
truncate myTable
pokxtpni2#
转到“Sql”选项卡,运行以下查询之一:
delete from tableName;
Delete:将删除表中的所有行。下一次插入将采用下一个自动增量ID。或
truncate tableName;
Truncate:也会从您的表格中删除列,但会从新列以1开始。一个详细的博客示例:http://sforsuresh.in/phpmyadmin-deleting-rows-mysql-table/
wnrlj8wa3#
进入你的数据库-〉结构,在所需的表中清空。
q3aa05254#
使用此查询:
DELETE FROM tableName;
注意:要删除某些特定的记录,您也可以在查询的where子句中给予条件。或者,您也可以使用此查询:
也要记住,你不应该有任何关系,其他表。如果将有任何外键约束在表中,那么这些记录将不会被删除,并会给出错误。
vwoqyblh5#
您可以使用此命令删除所有行。但请记住一件事,一旦运行truncate命令,就不能回滚它。
bqucvtff6#
AUTO_INCREMENT
DELETE FROM tableName; ALTER TABLE tableName AUTO_INCREMENT = 1
qvtsj1bj7#
一个有趣的事实我确信TRUNCATE的性能会更好,但在我的例子中,对于一个包含大约30个表的数据库,这些表都有外键,只填充了几行,TRUNCATE所有表大约需要12秒,而DELETE行只需要几百毫秒。设置自动增量总共增加了大约一秒,但它仍然好得多。所以我建议两个都试一试,看看哪个对你的情况更有效。
uidvcgyl8#
编写查询:截断“您表名”;
l2osamch9#
也可以使用sql query执行相同的操作:单击旁边的SQL显示结构
TRUNCATE tablename; //offers better performance, but used only when all entries need to be cleared or DELETE FROM tablename; //returns the number of rows deleted
有关详细文档,请参阅**DELETE和TRUNCATE**
9条答案
按热度按时间uujelgoq1#
您有两个选项
delete
和truncate
:delete from mytable
这将删除表中的所有内容,而不是重置自动增量ID,此过程非常慢。如果要删除特定的记录,请在末尾附加where子句。
truncate myTable
这将重置表,即所有自动增量字段将被重置。这是一个DDL,速度非常快。您不能通过
truncate
删除任何特定记录。pokxtpni2#
转到“Sql”选项卡,运行以下查询之一:
Delete:将删除表中的所有行。下一次插入将采用下一个自动增量ID。
或
Truncate:也会从您的表格中删除列,但会从新列以1开始。
一个详细的博客示例:http://sforsuresh.in/phpmyadmin-deleting-rows-mysql-table/
wnrlj8wa3#
进入你的数据库-〉结构,在所需的表中清空。
q3aa05254#
使用此查询:
注意:要删除某些特定的记录,您也可以在查询的where子句中给予条件。
或者,您也可以使用此查询:
也要记住,你不应该有任何关系,其他表。如果将有任何外键约束在表中,那么这些记录将不会被删除,并会给出错误。
vwoqyblh5#
您可以使用此命令删除所有行。但请记住一件事,一旦运行truncate命令,就不能回滚它。
bqucvtff6#
AUTO_INCREMENT
值。请改为使用下列SQL语法删除所有数据表项目并将索引重设回1:qvtsj1bj7#
一个有趣的事实
我确信TRUNCATE的性能会更好,但在我的例子中,对于一个包含大约30个表的数据库,这些表都有外键,只填充了几行,TRUNCATE所有表大约需要12秒,而DELETE行只需要几百毫秒。设置自动增量总共增加了大约一秒,但它仍然好得多。
所以我建议两个都试一试,看看哪个对你的情况更有效。
uidvcgyl8#
编写查询:截断“您表名”;
l2osamch9#
也可以使用sql query执行相同的操作:
单击旁边的SQL显示结构
有关详细文档,请参阅**DELETE和TRUNCATE**