欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql多個字段in找不到記錄

錢多多2年前9瀏覽0評論

在使用MySQL查詢時,經常需要使用多個字段的in操作符來查找相關記錄。但是有時候,我們會發現in操作找不到記錄,這是為什么呢?

一般而言,如果在in操作中傳入的值是一個字符串或者數字,那么這個操作符是比較好理解的。但是如果傳入的是多個字段,就需要考慮多個字段之間的關系。以下是一個例子:

SELECT * FROM table_name
WHERE (field1, field2) NOT IN
(SELECT field1, field2 FROM other_table);

在這個例子中,我們比較了table_name中的字段field1和field2與other_table中的相應字段是否匹配。如果匹配,則不會返回記錄。但是,當我們運行上述代碼時,可能會遇到以下錯誤:

Error Code: 1241. Operand should contain 2 column(s)

這種情況通常是因為我們在括號中指定了多個字段,但是實際上只應該指定一個字段。如果我們想用多個字段進行比較,則需要使用連接符,例如AND或OR。

以下是一個重新編寫的代碼示例:

SELECT * FROM table_name
WHERE CONCAT(field1, field2) NOT IN
(SELECT CONCAT(other_field1, other_field2) FROM other_table);

在這個示例中,我們使用了CONCAT函數將多個字段連接在一起,然后使用NOT IN操作符進行比較。這樣我們就可以避免使用多個字段in操作符時的錯誤。