ホームページ >バックエンド開発 >PHPチュートリアル >not in を使用すると、mysql がデータを見つけられないのはなぜですか?
id が含まれていない「記事」から id、cid、title、keywords、hits、addtime を選択します (4454,4453,4452,4451,4450,4449,4448,4447) addtime desc ,id desc LIMIT 0 , 18 で並べ替えます
上記のステートメントには、not in を削除するとデータが含まれます。何故ですか。データベースには 4,000 を超えるデータがあり、1 から 4454 までの番号が付けられています。調べないことは不可能です。そして、以前は大丈夫だったのに、突然見つからなくなりました。非常に奇妙な。
id が含まれていない `Articles` から id、cid、title、keywords、hits、addtime を選択します('4454','4453','4452','4451', '4450','4449','4448','4447') addtime desc ,id desc LIMIT 0 , 18 で並べ替えます
id が含まれていない `Articles` から id、cid、title、keywords、hits、addtime を選択します('4454','4453','4452','4451','4450','4449','4448','4447') order by addtime desc ,id desc LIMIT 0 , 18
id が含まれていない「記事」から id、cid、title、keywords、hits、addtime を選択します('4454','4453','4452','4451','4450','4449','4448) ','4447') order by addtime desc ,id desc LIMIT 0 , 18
または、select * from
を試してみることもできます。それ以外の場合は、select * from
SQL コマンドが間違っている場合、データベースはエラーを報告します
エラーメッセージを投稿してください。
SQL コマンドが間違っている場合、データベースはエラーを報告します
エラー メッセージを投稿してください。
つまり、条件を満たすデータがないということです
つまり、条件を満たすデータがないということです
私はもう一度 あなたのデータがなければ、あなたの一方的な話を聞くだけで、どうすればよいかわかりますか?
あなたのデータを持っていないので、一方的な話を聞くだけです。
どこで演奏しましたか? phpまたはmysqlクライアント?
どこで演奏しましたか。 phpまたはmysqlクライアント?
ID が (4454,4453,4452,4451,4450,4449,4448,4447) にない「記事」から id,cid,title,keywords,hits,addtime を選択し、 id が null ではありません addtime desc ,id desc LIMIT 0 , 18 で並べ替えます。これを試してみてください
mysql に not in というバグがあるようです。以前に遭遇したことがあります。direct not in (values) クエリの結果は 0 です。これを試すことができます:
ID フィールドを 1 つだけ持つ ID などの新しいテーブルを作成します。4451、4450、4449 を入力します。 ,4448,4447 が挿入され、次のようにクエリします:
select id,cid,title,keywords,hits,addtime from `Articles` where id not in (select id from ids) order by addtime desc ,id desc LIMIT 0 , 18 ;
これは以前にやったことがあります。お役に立てれば幸いです
in フィールドには null 値を含めることはできません。つまり、フィールドに格納されているテーブルから * を選択しますselect filed1 from table1 where contidtion)、ここで filed1 は null 値を持つことはできません