mysql連接查詢連接字段數據類型不一致問題,導致查詢結果異常

問題:兩表連接,使用表連接但兩表數據約束不生效,導致查詢結果與預期結果不匹配


連接字段為community_id和tenant_id

原因:dc表中的community_id為varchar 而dbtcc表的community_id字段類型為bigint,在數據庫中,如果兩種不同類型的字段值進行比較,則會使用MySQL的隱式轉換(就是將字符類型的強制轉換為數值類型,如01a會轉換為01) 導致兩表查詢結果不一致

解決辦法

1. 更改兩表字段類型一致,則可以解決問題,

2. 在表連接時將數值類型的字段用cast函數轉換為字符類型;

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容