Tôi đã nâng cấp hệ thống của mình và đã cài đặt MySql 5.7.9 với php cho ứng dụng web tôi đang làm việc. Tôi có một truy vấn được tạo động và khi chạy trong các phiên bản cũ hơn của MySql, nó hoạt động tốt. Kể từ khi nâng cấp lên 5.7 tôi gặp lỗi này:
Biểu thức số 1 của danh sách CHỌN không nằm trong mệnh đề GROUP BY và chứa cột không phân chia 'support_desk.mod_usftimegroups.group_id' không phụ thuộc chức năng vào các cột trong mệnh đề GROUP BY; cái này không tương thích với sql_mode = only_full_group_by
Lưu ý trang Hướng dẫn cho Mysql 5.7 về chủ đề Chế độ SQL của Máy chủ .
Đây là truy vấn gây rắc rối cho tôi:
SELECT mod_users_groups.group_id AS 'value',
group_name AS 'text'
FROM mod_users_groups
LEFT JOIN mod_users_data ON mod_users_groups.group_id = mod_users_data.group_id
WHERE mod_users_groups.active = 1
AND mod_users_groups.department_id = 1
AND mod_users_groups.manage_work_orders = 1
AND group_name != 'root'
AND group_name != 'superuser'
GROUP BY group_name
HAVING COUNT(`user_id`) > 0
ORDER BY group_name
Tôi đã làm một số vấn đề về vấn đề này, nhưng tôi không only_full_group_by
đủ hiểu để tìm ra những gì tôi cần làm để khắc phục truy vấn. Tôi có thể tắt only_full_group_by
tùy chọn này không, hoặc có cần phải làm gì khác không?
Hay noi tôi nêu bạn cân thêm thông tin.
not a GROUP BY expression
" Đó là nó. Họ cũng có thể chỉ có một mã lỗi số và không có thông báo nào cả.