其中一列似乎在數據前有某種特殊字符。當我運行此查詢:列數據中的未知字符MYSQL
SELECT * FROM `stocktake_products` WHERE `stocktake_id` = 4148 AND `stocktake_product_id` = '29153796'
我沒有得到任何結果,但在運行此:
SELECT * FROM `stocktake_products` WHERE `stocktake_id` = 4148 AND `stocktake_product_id` LIKE '29153796'
我使用這個字段LEFT JOIN另一個表 (
SELECT
*
FROM stocktake_scans ss
LEFT JOIN stocktake_products sp ON ss.stocktake_product_id = sp.stocktake_product_id
LEFT JOIN stocktake_staff st ON ss.stocktake_staff_id = st.stocktake_staff_id
LEFT JOIN stocktake_areas sa ON ss.stocktake_area_id = sa.stocktake_area_id
WHERE ss.stocktake_id = X
ORDER BY stocktake_scan_id ASC;
)所以我確實需要使用"="
語法而不是LIKE
。
提取正確的產品。我嘗試過TRIM(stocktake_product_id)
,但0
行已更新。有沒有其他的方法來找出這個特殊的隱形角色是什麼,並將其刪除?
謝謝!
爲什麼你不能使用'LIKE'?沒有特殊的,不可見的字符以及... – Legionar
您可以只更新字段 – CFreitas
@Legionar我試圖在長查詢中使用LIKE,但它已經崩潰了MySql服務器。我正在從bigint數據字段中創建一個字符串,這就是爲什麼它沒有返回結果。仍然沒有解釋爲什麼它沒有正確鏈接到另一個表。 stocktake_product_id in stocktake_scans是一個int數據類型嗎? – ArtleMaks