[英]Unable to get results using AND condition
當我執行以下查詢時,我沒有得到任何結果:
SELECT * FROM contacts_cstm WHERE id = '123' AND ftrere!='test'
當我運行以下查詢時,它會返回結果:
SELECT * FROM contacts_cstm WHERE ( id = '123')
以下是表定義以及示例插入語句:
CREATE TABLE IF NOT EXISTS `contacts_cstm` (
`id` char(36) NOT NULL,
`ftrere` varchar(100) DEFAULT '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `contacts_cstm` (`id`, `ftrere`) VALUES
('123', NULL);
我不確定我錯過了什么。 任何幫助將不勝感激!
NULL
失敗<>
就像它失敗=
一樣。 使用空安全比較:
SELECT *
FROM contacts_cstm
WHERE id = 123 AND NOT (ftrere <=> 'test')
請注意,<=> 是 MySQL 定制的 NULL 安全<=>
。 這等同於標准 SQL operator IS NOT DISTINCT FROM
。
或者明確說明NULL
比較:
SELECT *
FROM contacts_cstm
WHERE id = 123 AND (ftrere <> 'test' OR ftrere IS NULL);
注意: id
看起來像一個數字,所以為了比較我去掉了單引號。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.