1

このコードを使用して、作成したテーブルからデータを取得しています。

SELECT id,shirt_name,boys FROM shirts WHERE boys IS NOT NULL

boys列が入力した行を選択するだけでなく、すべての行を選択します。これが私がテーブルを作成した方法です

CREATE TABLE shirts (
    id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL,
    shirt_name VARCHAR(20) NOT NULL,
    men VARCHAR(10) NULL,
    women VARCHAR(10) NULL,
    boys VARCHAR(10) NULL,
    girls VARCHAR(10) NULL,
    babies VARCHAR(10) NULL,
)ENGINE=INNODB;

INSERT INTO shirts(shirt_name,men,women,boys,girls,babies) VALUES
    ('Crewneck Tee','me_crn','wo_crn','bo_crn','gi_crn','ba_crn'),
    ('V-Neck Tee','me_vnc','wo_vnc','','',''),
    ('Scoop Neck Tee','','wo_sco','','',''),
    ('Raglan Tee','me_rag','wo_rag','bo_rag','gi_rag',''),
    ('Ringer Tee','me_rin','wo_rin','bo_rin','gi_rin',''),
    ('Cap Sleeve Tee','','wo_cap','','gi_cap',''),
    ('Tank Top','me_tan','wo_tan','bo_tan','gi_tan',''),
    ('Spaghetti Strap','','wo_spa','','',''),
    ('Hoodie','me_hod','wo_hod','bo_hod','gi_hod','ba_hod');

私は何を間違えましたか?

4

2 に答える 2

4

NULLにを含むレコードを挿入しませんでした。boys空文字列のレコードのみ。また、空の文字列 ( '') は とは異なるNULLため、一致しIS NOT NULLます。

于 2012-12-30T00:26:00.727 に答える
1
SELECT id,shirt_name,boys FROM shirts WHERE boys != ''

このデータで使用する必要があるもの

于 2012-12-30T00:31:50.037 に答える