Ola'
O MySQL executou uma insercao de linha mesmo o valor estando fora da restricao apesar de o campo ter ficado vazio
ALTER TABLE COMPRAS ADD COLUMN FORMA_PAGT ENUM('CARTAO', 'DINHEIRO', 'CHEQUE') DEFAULT 'DINHEIRO';INSERT INTO COMPRAS (VALOR, DATA, OBSERVACOES, FORMA_PAGT) VALUES (111.11, '2017-10-20', 'NADA A DECLARAR', 'XYZ');Resultado:
mysql> SELECT * FROM COMPRAS WHERE VALOR=111.11;                                                         +----+--------+------------+-----------------+---------+------------+
| id | valor  | data       | observacoes     | BOOLEAN | FORMA_PAGT |
+----+--------+------------+-----------------+---------+------------+
| 44 | 111.11 | 2017-10-20 | NADA A DECLARAR |       0 |            |
| 45 | 111.11 | 2017-10-20 | NADA A DECLARAR |       0 | CARTAO     |
+----+--------+------------+-----------------+---------+------------+
mysql> DESC compras;
+-------------+------------------------------------+------+-----+----------+----------------+
| Field       | Type                               | Null | Key | Default  | Extra          |
+-------------+------------------------------------+------+-----+----------+----------------+
| id          | int(11)                            | NO   | PRI | NULL     | auto_increment |
| valor       | double                             | YES  |     | NULL     |                |
| data        | date                               | YES  |     | NULL     |                |
| observacoes | varchar(255)                       | YES  |     | NULL     |                |
| RECEBIDO    | tinyint(1)                         | YES  |     | 0        |                |
| FORMA_PAGT  | enum('CARTAO','DINHEIRO','CHEQUE') | YES  |     | DINHEIRO |                |
+-------------+------------------------------------+------+-----+----------+----------------+
6 rows in set (0.01 sec)Nao deveria ter dado ERRO de insercao?
Obrigado
 
            