php - SELECT 语句不能正常工作

标签 php sql database select

我正在使用此代码从我创建的表中检索数据。

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');

我做错了什么?

最佳答案

您没有在 boys 列中插入任何带有 NULL 的记录。只记录它是空字符串的地方。空字符串 ('') 不同于 NULL,因此它匹配 IS NOT NULL

关于php - SELECT 语句不能正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14087198/

相关文章:

.net - System.Data.SQLConnection 的跟踪和诊断

database - Data Vault - 如何选择业务 key ?

mysql - 如何将托管网站上的 MsSQL 数据库迁移到其他托管网站上的 MySQL 数据库?

php - 在 Woocommerce CSS 之后加载子主题 CSS

php - 如何在自定义 Yii2 UrlRule 中查看某个类是否是 ActiveController 的子类

php - 如何在Linux中设置每隔星期一的cron?

mysql - 如何自动增加一个值

php - Laravel 异常处理程序还会记录请求

mysql - 简单的 MySQL View 由来自不同表的聚合数据组成

java - 如何消除 Java Bean 对象列表中的重复值