Creo que a lo que se refería es a las CHECK CONTRAINT que aparecen, por ejemplo, en SQL Server como:
Código SQL:
Ver originalCREATE TABLE CheckTbl (col1 INT, col2 INT);
GO
CREATE FUNCTION CheckFnctn()
RETURNS INT
AS
BEGIN
DECLARE @retval INT
SELECT @retval = COUNT(*) FROM CheckTbl
RETURN @retval
END;
GO
ALTER TABLE CheckTbl
ADD CONSTRAINT chkRowCount CHECK (dbo.CheckFnctn() >= 1 );
GO
O bien las de Oracle:
Código SQL:
Ver originalCREATE TABLE suppliers
( supplier_id NUMERIC(4),
supplier_name varchar2(50),
CONSTRAINT check_supplier_id
CHECK (supplier_id BETWEEN 100 AND 9999)
);
Por eso decía o que no estás implementadas en MySQL: no existen aún ese tipo de CONSTRAINT. AL menos hasta ahora.
Desde luego que un NOT NULL es una constraint, pero no en el sentido de estas dos.