0

我正在使用一个包含 1,000 多种产品的大型数据库。每个产品都有一个 SKU 代码。我正在开发一个脚本,其中根据前两个和最后两个字符删除某些产品。我想知道是否有一种快速的方法可以只使用 MySQL 来删除这些。

有没有办法可以使用 WHERE 语句来搜索以“XX”开头并以“XX”结尾的值?

如果不是,那么我不介意使用旧的 PHP 方式,我只是认为 MySQL 方式会更高效。

非常感谢,彼得

4

3 回答 3

2

这是一个简单的删除语句

delete from products
where sku_code like 'XX%XX'

如果您想要以 XX 开头或以 XX 结尾的产品,请使用 or 条件

delete from products
where sku_code like 'XX%'
      or sku_code like '%XX'

请参阅SQL Fiddle进行测试。

于 2012-12-01T22:31:21.777 回答
1

只需LIKE在 where 语句中使用一个子句,即

....
WHERE sku LIKE 'xx%' OR 
      sku LIKE '%xx'
于 2012-12-01T22:32:16.053 回答
1

您可以使用 LIKE 运算符查找特定模式并将 % 用于通配符。

在您的情况下,您可以使用以下内容:

DELETE FROM Products
WHERE SKUCode LIKE 'XX%' OR SKUCode LIKE '%XX';

您可以在此处阅读更多内容。

于 2012-12-01T22:34:25.510 回答