【问题标题】:Delete many rows from a table using SN in Mysql在Mysql中使用SN从表中删除许多行
【发布时间】:2019-01-06 11:26:09
【问题描述】:

我只是一名 IT 支持人员,只具备查询方面的基本知识。我想使用 ac_serial_number 从我的表中删除许多作为序列号行的表条目。

目前,我正在使用

DELETE FROM `asset_comparison` WHERE `asset_comparison`.`ac_serial_number` = 'SGH511XXXX'
DELETE FROM `asset_comparison` WHERE `asset_comparison`.`ac_serial_number` = '6CM451XXXX'

但我有大约 1000 个序列号要删除。我的方法需要几个小时。

你能告诉我高效删除吗?

【问题讨论】:

  • 清晰具体。是 MySQL 还是 MSSQL,column_name 在哪里
  • 从 ac_comparison 中删除 3CQ301XXXX;是无效的 sql 应该是 DELETE from ac_comparison where ac_serial_number = '3CQ301XXXX';
  • ac_serial_number 看起来不像是序列位进入其中的任何类型的数字?
  • 对不起,我忘记写了。修复由我重写代码

标签: mysql sql xampp localhost sql-delete


【解决方案1】:

如果只有 1000 左右?

然后你可以使用一个带有 IN 标准的 DELETE 来做到这一点。

例如:

DELETE FROM asset_comparison 
WHERE ac_serial_number IN (
 'SGH511XXXX'
,'6CM451XXXX'
-- Add more here
);

【讨论】:

  • @biiboy 感谢代表。顺便说一句,如果 SQL 会因为太多的数字而变得太大?另一种方法是将数字加载到临时表中,然后在该 IN 中使用从该临时表中选择数字的查询。
猜你喜欢
  • 2013-03-08
  • 2017-11-30
  • 2020-02-20
  • 1970-01-01
  • 2016-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-24
相关资源
最近更新 更多