Computer >> Máy Tính >  >> Lập trình >> MySQL

Tại sao không nên sử dụng hỗn hợp các giá trị được trích dẫn cũng như không được trích dẫn trong danh sách của hàm MySQL IN ()?

Trên thực tế, MySQL có các quy tắc so sánh khác nhau cho các giá trị được trích dẫn như chuỗi và giá trị không được trích dẫn như số. Khi trộn các giá trị được trích dẫn và không được trích dẫn trong danh sách hàm IN () có thể dẫn đến tập kết quả không nhất quán. Ví dụ, chúng ta không được viết câu truy vấn bằng hàm IN () như bên dưới -

Select Salary from employee where ID IN(1,’a’,2,3,’c’)

Thay vì điều này, cách tốt hơn để viết truy vấn trên như sau -

Select Salary from employee where ID IN(‘1’,’a’,’2’,’3’,’c’)