MySQL中的空值(NULL)表示一个字段没有值。空值不同于空字符串('')或数字0,它表示该字段的值是未知的或不存在的。在MySQL中,每个字段都可以接受空值,除非在创建表时明确指定了该字段不允许为空(NOT NULL)。
MySQL中的空值只有两种类型:
原因:
解决方法:
SELECT COALESCE(column_name, 'default_value') AS new_column_name FROM table_name;
-- 创建一个允许空值的表
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
email VARCHAR(255) NULL,
phone VARCHAR(20) NULL
);
-- 插入一条记录,其中email和phone字段为空值
INSERT INTO users (name) VALUES ('John Doe');
-- 查询并处理空值
SELECT id, name, COALESCE(email, 'no_email@example.com') AS email, COALESCE(phone, 'no_phone') AS phone FROM users;
领取专属 10元无门槛券
手把手带您无忧上云