Violando check constraint

1. Violando check constraint

Pedro
phsmoura

(usa Debian)

Enviado em 05/04/2018 - 22:21h

Criei uma check constraint usando o alter table, porém logo após violei o que defini pela check constraint inserindo dados na tabela e o insert foi bem sucedido. Acredito que algo esteja errado com os comandos que usei...

Abaixo criei a check constraint
MariaDB [BD_01]> alter table Tab1 add constraint ck check (Coluna4>9);
Query OK, 0 rows affected (0.00 sec)
Records: 0 Duplicates: 0 Warnings: 0

Logo após usei o "desc" e o resultado foi o seguinte:
MariaDB [BD_01]> desc Tab1;
+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| Coluna1 | char(1) | NO | PRI | NULL | |
| Coluna2 | varchar(8) | YES | | NULL | |
| Coluna3 | varchar(30) | NO | | NULL | |
| Coluna4 | int(6) | YES | | NULL | |
| Coluna5 | char(15) | YES | UNI | NULL | |
+---------+-------------+------+-----+---------+-------+
5 rows in set (0.01 sec)

Então inseri dados na tabela violando a check constrain, colocando um número abaixo de 10 na Coluna4 e o insert foi bem sucedido.
Porque isso acontece? Por causa da check constraint isso não deveria ser possível certo?
MariaDB [BD_01]> insert into Tab1 (Coluna1, Coluna2, Coluna3, Coluna4, Coluna5) values 
-> ('A', 20180105,'AAAAA', 5, 'AAA001');
Query OK, 1 row affected (0.15 sec)

MariaDB [BD_01]> select * from Tab1;
+---------+----------+---------+---------+---------+
| Coluna1 | Coluna2 | Coluna3 | Coluna4 | Coluna5 |
+---------+----------+---------+---------+---------+
| A | 20180105 | AAAAA | 5 | AAA001 |
+---------+----------+---------+---------+---------+
1 row in set (0.00 sec)

Agradeço quem puder ajudar


  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts