Обсуждение: ALTER TABLE for field modify...
Hi! How can I modify a field of table with ALTER TABLE? I want to modify the constraint. The TABLE is now: "ID" int8 NOT NULL, UNIQUE But I want this: "ID" int8 REFERENCE "table2" THanx! Bye! ----------------- Linux RedHat 7.1 -----------------
alter table <tablename> drop constraint ID unique; alter table <tablename> drop constraint ID not null; alter table <tablename> add constraint ID references table2 ; Here is where you can find the documentation for this: The "alter": http://www.postgresql.org/idocs/index.php?sql-altertable.html The constraints: http://www.postgresql.org/idocs/index.php?sql-createtable.html regards, -Nick -------------------------------------------------------------------------- Nick Fankhauser nickf@ontko.com Phone 1.765.935.4283 Fax 1.765.962.9788 Ray Ontko & Co. Software Consulting Services http://www.ontko.com/ > -----Original Message----- > From: pgsql-admin-owner@postgresql.org > [mailto:pgsql-admin-owner@postgresql.org]On Behalf Of MG > Sent: Thursday, May 02, 2002 3:28 PM > To: PostgreSQL List > Subject: [ADMIN] ALTER TABLE for field modify... > > > > Hi! > > How can I modify a field of table with ALTER TABLE? I want to modify the > constraint. The TABLE is now: > "ID" int8 NOT NULL, UNIQUE > > But I want this: > "ID" int8 REFERENCE "table2" > > > THanx! > Bye! > ----------------- > Linux RedHat 7.1 > ----------------- > > > ---------------------------(end of broadcast)--------------------------- > TIP 5: Have you checked our extensive FAQ? > > http://www.postgresql.org/users-lounge/docs/faq.html >
On 03-May-2002 Nick Fankhauser wrote: > alter table <tablename> drop constraint ID unique; > alter table <tablename> drop constraint ID not null; > > alter table <tablename> add constraint ID references table2 ; > Hi! It not works... :( How can I change the properties of a field? Bye! ----------------- Linux RedHat 7.1 -----------------
On 03-May-2002 Nick Fankhauser wrote: > alter table <tablename> drop constraint ID unique; > alter table <tablename> drop constraint ID not null; > > alter table <tablename> add constraint ID references table2 ; > Hi! It not works. :( I try it: proba=# create table "tabla1" ("ID" int8 NOT NULL UNIQUE, "nev" varchar(20) ); NOTICE: CREATE TABLE/UNIQUE will create implicit index 'tabla1_ID_key' for table 'tabla1' CREATE proba=# create table "tabla2" ("ID2" int8 NOT NULL UNIQUE, "nev2" varchar(20) ); NOTICE: CREATE TABLE/UNIQUE will create implicit index 'tabla2_ID2_key' for table 'tabla2' CREATE proba=# alter table tabla1 drop constraint ID not null; ERROR: parser: parse error at or near "not" ------------------------------------------- What is the problem? Bye! ----------------- Linux RedHat 7.1 -----------------
Hi, all, pgsql7.1.2 is running on Sun solaris. When I start pgsql server, I got start-up failed, error below: IpcMemoryCreate: shmget(key=5432001, size=1777664, 03600) failed: Invalid argument please help me to figure it out. thanks tony
On Tue, 2002-05-14 at 11:24, MG wrote: > > On 03-May-2002 Nick Fankhauser wrote: > > alter table <tablename> drop constraint ID unique; > > alter table <tablename> drop constraint ID not null; > > > > alter table <tablename> add constraint ID references table2 ; > > > > Hi! > > It not works. :( > I try it: > proba=# create table "tabla1" ("ID" int8 NOT NULL UNIQUE, "nev" varchar(20) ); > NOTICE: CREATE TABLE/UNIQUE will create implicit index 'tabla1_ID_key' for > table 'tabla1' In this case the row is ID (Case sensitive) so whenever you refer to it you must refer to it as "ID" > CREATE > proba=# create table "tabla2" ("ID2" int8 NOT NULL UNIQUE, "nev2" varchar(20) ); > NOTICE: CREATE TABLE/UNIQUE will create implicit index 'tabla2_ID2_key' for > table 'tabla2' > CREATE > > proba=# alter table tabla1 drop constraint ID not null; Here you refer to it as ID which is case folded to id and does not refer to the column named ID. I don't know if that is your problem, but it is one problem with your code. and it will no doubt show up in many more places. -- David Stanaway
Вложения
David Stanaway <david@stanaway.net> wrote: > In this case the row is ID (Case sensitive) so whenever > you refer to it you must refer to it as "ID" > ... > > > proba=# alter table tabla1 drop constraint ID not null; > > Here you refer to it as ID which is case folded to id and > does not refer to the column named ID. > I tried it with "ID", but it doesn't work neither. :( Why? What should I do? THanx! Bye!