Значение SQL вне диапазона для столбца «CGPA» в строке 1 - PullRequest
0 голосов
/ 08 ноября 2018

- 1) Создание таблицы ученика

CREATE TABLE student (IDNO VARCHAR(11) NOT NULL PRIMARY KEY,
                      NAME VARCHAR(64) NOT NULL,
                      ROOM INTEGER,
                      HOSTEL CHAR(2),
                      CGPA NUMERIC (2,2) CHECK(CGPA < 10 and CGPA > 0));

- вставка указанных данных CGPA DECIMAL (2,2) CHECK (CGPA <10 и CGPA> 0)

INSERT INTO student VALUES('2000A3PS177', 'Raoul', 222, 'AK', 8.8);

INSERT INTO student VALUES('2001A7PS098', 'Kapil', 143, 'RM', 7.9);

INSERT INTO student VALUES('2000A7PS588', 'Sriram', 175, 'RP', 10.0);

INSERT INTO student VALUES('2001A7PS721', 'Nikhil', 112, 'RM', 9.2);

INSERT INTO student VALUES('2001A3PS588', 'Mouli', 121, 'BD', 7.5);

У меня есть код выше, когда я запускаю, получаю ошибку ниже: Подготовка ... Импорт my_test.sql ... Закончено выполнение скрипта ОШИБКА 1264 (22003) в строке 8: Значение вне диапазона для столбца 'CGPA' в строке 1 Операция не выполнена с кодом выхода 1

Я попытался изменить введенное значение или ЦИФРОВОЕ на ДЕСЯТИЧНОЕ, но безуспешно.

Если я внесу изменения ниже, это сработает. форма

CGPA NUMERIC (2,2) CHECK(CGPA < 10 and CGPA > 0)

до

CGPA float 

Не могли бы вы помочь мне понять, чего мне здесь не хватает?

Ответы [ 2 ]

0 голосов
/ 08 ноября 2018

Также в дополнение к ans полезно понять концепцию ниже:

DDL будет выглядеть так: CREATE TABLE account ( accountNo integer, баланс числовой (8,2) );

В столбце «Баланс» можно безопасно хранить номер 173226.62. enter image description here

Числовые, десятичные типы данных в SQL

P- 8 (это общая десятичная цифра) S- 2

0 голосов
/ 08 ноября 2018

Ваша проблема NUMERIC(2, 2). Это в основном поддерживает значения от 0.00 до 0.99 - две цифры точности.

Я думаю, вы намереваетесь NUMERIC(4, 2) или NUMERIC(3, 2) для поддержки цифр до десятичной точки.

...