ошибка при создании таблицы

Carolyne
Дата: 09.02.2004 11:30:07
сабж вот какой:
/tbl_create.php -- Line: 69
PostgreSQL said: ERROR: parser: parse error at or near "(" at character 38
Your query:
CREATE TABLE "news" (
"news_id" int4 (4) DEFAULT nextval('news_news_id_seq'::text) NOT NULL,
"news_name" varchar (255) NOT NULL,
"news_info" text (var) );

это Я опять что-то не так делаю? :(
LeXa NalBat
Дата: 09.02.2004 12:36:45
"character 38" находится в этом районе: "int4 (4)"
Carolyne
Дата: 09.02.2004 16:26:40
спасибо, уже разобралась - как всегда во всем виновата женская невнимательность: забыла прописать сиквенсы сначала
Konrad
Дата: 09.02.2004 17:17:53
//забыла прописать сиквенсы сначала

В смысле - с этим "int4 (4)" все в порядке что-ли??
Carolyne
Дата: 09.02.2004 17:22:28
абсолютно! а ГДЕ в ИМЕННО ЭТОМ месте может быть ошибка? :)
Konrad
Дата: 10.02.2004 10:26:34
а что это за конструкция? :)

db=# \h create table
Команда: CREATE TABLE
Описание: define a new table
Синтаксис:
CREATE [ [ LOCAL ] { TEMPORARY | TEMP } ] TABLE table_name (
{ column_name data_type [ DEFAULT default_expr ] [ column_constraint [, ... ] ]
| table_constraint } [, ... ]
)


В Вашем случае int4 - data_type, а что такое (4)?

P.S. А версия сервера?
Carolyne
Дата: 10.02.2004 16:17:57
Field="news_id"
Type=int4
Length=(4)
собсна...
PostgreSQL 7.3
Konrad
Дата: 10.02.2004 17:13:05
Спасибо :)
Carolyne
Дата: 10.02.2004 17:30:57
а что, такая же фигня происходила? :)
или ради любопытства? :)
не верю
Дата: 10.02.2004 18:19:12
DROP TABLE public.test;


CREATE TABLE public.test
(
id int4 (4) NOT NULL,
name varchar (64) NOT NULL
) WITHOUT OIDS;

ERROR: parser: parse error at or near "(" at character 87

DROP TABLE public.test;


CREATE TABLE public.test
(
id int4 /* (4) */ NOT NULL,
name varchar (64) NOT NULL
) WITHOUT OIDS;

Результат запроса с отброшенным числом строк: 0.
Запрос успешно завершён без результата возврата за 62 мс.
_____________________
PostgresSQL 7.3.4