Как ограничить длину автогенерируемых данных в Postgresql

Я создаю таблицу с автогенерируемым набором данных. И мне нужно, чтобы данные были созданы с ограничением по длине.

вот такой запрос, выдаст ошибку

CREATE TABLE countries(
                                  country_id INTEGER NOT NULL,
                                  country_name varchar(10),
                                  continent varchar(10),
                                  code varchar(2)
);

INSERT INTO countries(country_id, country_name, continent, code)
SELECT country_id,
       md5(random()::varchar(10)),
       md5(random()::varchar(10)),
       md5(random()::varchar(2))
FROM generate_series(1,100) country_id;

Следующий запрос отработает четко, но не будут соблюдена длина автогенерируемых данных.

CREATE TABLE countries(
                                  country_id INTEGER NOT NULL,
                                  country_name text,
                                  continent text,
                                  code text
);

INSERT INTO countries(country_id, country_name, continent, code)
SELECT country_id,
       md5(random()::varchar(10)),
       md5(random()::varchar(10)),
       md5(random()::varchar(2))
FROM generate_series(1,100) country_id;

Как это исправить ?


Ответы (0 шт):