0
我對SQL相當陌生,我試圖保存自己一段時間在多個列中搜索單個值,以便不必將該值粘貼到3個引號。在用戶定義的變量中使用'WHERE'
EG:
SET @u1 := '000123';
SELECT * FROM database1.table1
WHERE id = @u1
OR prev_id = @u1
OR next_id = @u1
OR link_id = @u1
;
因此,在上述情況下,我試圖找到其中ID = 000123要麼是ID,prev_id,next_uid,link_uid,而不必粘貼在4個實例以下:
SELECT * FROM database1.table1
WHERE id LIKE '000123'
OR prev_id = '000123'
OR next_id = '000123'
OR link_id = '000123'
;
環顧四周,我相當確信這是可能的,但也許我錯過了什麼?
它很可能是,但我收到以下錯誤消息: 錯誤代碼:1270的歸類(utf8_general_ci,IMPLICIT),(utf8_unicode_ci,IMPLICIT),(utf8_unicode_ci,隱含的)操作的非法混合'IN' – n8udd
聽起來像默認數據庫排序規則與表排序規則不同。您可以使用COLLATE鍵工作來更改排序規則。 –