在使用到子查詢時遇到的問題,具體報錯如下截圖:
具體sql如下:
select
kw.*
from
stpc_keywords_rank_kw kw
where
kw.last_time = 1
and kw.keyword not in (
select
rank.keywords
from
stpc_keywords_rank rank
where
`day` = '1595779200'
)
檢視了兩個標題的結構,發現問題在於字元編碼,collate這裡。
首先需要看到表結構,如下sql:
show create table stpc_keywords_rank_kw
下面是對比sql結果:
使用下面的sql修改為相同的字元編碼collate。達到兩表字元編碼統一,再次執行即可。
alter table table_name default character set utf8mb4 collate=utf8mb4_general_ci;
mysql 1267錯誤解決辦法
如果建表時使用的字符集和mysql預設的字符集不一樣,在查詢操作時,尤其是有中文字元的情況下,經常會出現如下錯誤 error 1267 hy000 illegal mix of collations gbk chinese ci,implicit and latin1 swedish ci,coer...
MySql錯誤處理 錯誤處理的例子
有幾種錯誤處理的宣告形式 如果任何錯誤 不是 not found 設定 l error 為 1 後繼續執行 declare continue handler for sqlexception set l error 1 如果發生任何錯誤 不是 not found 執行 rollback和產生一條錯誤...
mysql錯誤處理
1.got error 28 from storage engine 如果資料庫儲存空間沒問題,應該是資料庫用的臨時目錄空間不夠。linux 清空 tmp目錄,或者修改my.cnf中的tmpdir引數,指向具有足夠空間目錄。windows mysql的臨時目錄一般在c windows temp。2....