sách gpt4 ai đã đi

Danh sách MySQL IN danh sách

In lại Tác giả: IT Prince Thời gian cập nhật: 2023-10-28 23:46:49 29 4
mua khóa gpt4 Nike

Hiện tại tôi lưu trữ thông tin đầu vào của người dùng trong một danh sách được phân tách bằng dấu phẩy như thế này:

ID người dùng | Tùy chọn
1 | 1,2,5

Người dùng chọn một tập hợp các tùy chọn theo định dạng mảng và sau đó kết nối chúng bằng dấu phẩy

1,2,5

Sau đó, MySQL sẽ cố gắng tìm những người dùng khác đã kiểm tra một số hoặc tất cả các tùy chọn giống nhau trên các tên trường khác nhau (mặc dù cùng một bảng).

Hiện tại tôi đang làm thế này:

NƠI `lựa chọn` TRONG ('.$row['myoptions'].')

Vì vậy, nó có thể trông như thế này:

Ở ĐÂU 1,2,5,8 TRONG (1,4,6)

Câu trả lời này sẽ trả về giá trị đúng vì có ít nhất một giá trị khớp đúng không? Hoặc là tôi đang bối rối..

1 Câu trả lời

Có thể bạn đã làm sai.

Nếu loại cột tùy chọn là BỘ, hàm FIND_IN_SET có thể hữu ích.

ví dụ:

CHỌN * TỪ bảng của bạn NƠI FIND_IN_SET('2', Tùy chọn);

Tuy nhiên, nó chỉ có thể so sánh một chuỗi tại một thời điểm, trong ví dụ trên, nó so sánh xem có 2 chuỗi trong hàng hay không. Nếu bạn phải so sánh nhiều giá trị, bạn không thể thực hiện bằng cách sử dụng FIND_IN_SET.

Tuy nhiên, trong trường hợp của bạn,GIỐNG Điều khoản này có thể hữu ích.

Có thể là như thế này

CHỌN * TỪ bảng của bạn NƠI Tùy chọn NHƯ '%2,3%';

Bây giờ lệnh này sẽ tìm kiếm giá trị 2,3 ở bất kỳ đâu trong cột và cung cấp cho bạn kết quả. Nhưng điều này cũng mang đến một sự phức tạp khác, đó là 2,3 bên cạnh nhau, nếu cột có 2,1,3 hoặc2,4,5,3 thậm chí 3,2 Những hồ sơ này sẽ không được liệt kê.

Bây giờ đến câu hỏi của bạn

`NƠI `lựa chọn` TRONG (1,4,6)`, 

sẽ được chuyển đổi thành

NƠI `choices` = '1' HOẶC `choices` = '4' HOẶC `choices` = '6'

Vì vậy nó sẽ trở lạiSAI

Tại sao?

Bởi vì cột của bạn không chỉ chứa 1 hoặc 4 hoặc 6 mà còn 1,2,5 Như một sợi dây. Vì vậy tất cả các so sánh trên đều trả về false

Liên quan đến danh sách MySQL IN list, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/8352115/

29 4 0
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com