我正在尝试导入产品图片,并在工作表中添加其网址。现在,有2张图片具有相同的名称,但其中一张图片使用大写字母,另一张图片使用小写字母。例如,图像名称是ABC.jpg,其他图像名称是abc.jpg。当我运行查询时,它同时返回两条记录。
这是我的查询:
$wpdb->get_results(
$wpdb->prepare(
"SELECT ID as post_id FROM $wpdb->posts WHERE post_type='attachment' AND guid='%s'", $product_img
));
我尝试使用归类,但这也返回了相同的结果。
如何解决此问题?
您可以使用BINARY
关键字来区分大小写。
$wpdb->get_results(
$wpdb->prepare(
"SELECT ID as post_id FROM $wpdb->posts WHERE post_type='attachment' AND BINARY guid='%s'", $product_img
));
请注意,这可能会影响所涉及列的索引。
显示它有效的示例:
mysql> select 'ABC.jpg'='abc.jpg';
+---------------------+
| 'ABC.jpg'='abc.jpg' |
+---------------------+
| 1 |
+---------------------+
1 row in set (0.00 sec)
mysql> select BINARY 'ABC.jpg'='abc.jpg';
+----------------------------+
| BINARY 'ABC.jpg'='abc.jpg' |
+----------------------------+
| 0 |
+----------------------------+
1 row in set (0.01 sec)
mysql>
另一个选择是更改所涉及列的排序规则,使其区分大小写。参见this answer。
区分大小写文档is here。