Você precisa usar
NOT NULL
cláusula na definição da coluna. Por exemplo - CREATE TABLE book (
author_name varchar(50) NOT NULL,
price decimal(19, 2) DEFAULT NULL,
title varchar(255) DEFAULT NULL
);
Isso funciona como uma restrição.
Uma solução alternativa para restringir em branco valores -
CREATE TRIGGER trigger1
AFTER INSERT
ON book
FOR EACH ROW
BEGIN
IF author_name = '' THEN
SIGNAL SQLSTATE VALUE '02001'
SET MESSAGE_TEXT = 'Blank value is not allowed'; -- Raise error
END IF;
END
Documentação - SINAL declaração.