я сделал таблицу, как это:MYSQL по умолчанию и диапазон
CREATE TABLE clients
(
empno INTEGER NULL DEFAULT 7654 CHECK (7000 <= empno AND
empno <= 8000),
cname VARCHAR(20) NOT NULL
);
Я не хотел пустых полей CNAME, значение по умолчанию 7654 для EMPNO. Также значения для empno должны быть между 7000 и 8000. Две проблемы. Во-первых, в то время как я не могу поместить NULL для cname, если я положу '', он примет запись и отобразит пустой. Он должен отвергать это. Кроме того, я пробовал INSERT INTO clients (cname, empno) VALUES ('JANE', 6789);
Он не должен был его принимать, но так и было! Я не могу понять проблему.
Вы должны сделать свою собственную фильтрацию, чтобы поймать пустые строки на вашем конце. –
Установка значений по умолчанию для полей с нулевым значением кажется немного противоречием. –