Re: Altering Table - Adding Primary Key With References
From: Anders Altberg (x_pragma_at_telia.com)
Date: 09/05/04
- Previous message: Mikhail: "Re: Altering Table - Adding Primary Key With References"
- In reply to: Anders Altberg: "Re: Altering Table - Adding Primary Key With References"
- Messages sorted by: [ date ] [ thread ]
Date: Sun, 5 Sep 2004 13:19:42 +0200
A correction. The CREATE TABLE command work fine. The first ALTER TABLE in
my examples also works as expected.
The last two do not work, which is what I wanted to show.
-Anders
"Anders Altberg" <x_pragma@telia.com> wrote in message
news:eF4pozYkEHA.3712@TK2MSFTNGP15.phx.gbl...
> If you want the relation to be a one-to-one instread of one-to-many, you
can
> let the primary key of the Child table be the referecing field. But you
> can't do it with the ALTER TABLE command in VFP8. You can do it in the
> CREATE TABLE command. And you can just set up the reference in the
Database
> Designer window by drag-and-drop.
> These commands work:
> CREATE DATABASE Test
> CREATE TABLE Parents (id i NOT null PRIMARY KEY autoinc)
> CREATE TABLE Children (id i NOT null PRIMARY KEY REFERENCES Parents TAG
id)
> CREATE TABLE morechildren (cid Integer NOT NULL )
> ALTER TABLE Morechildren ADD FOREIGN KEY cid TAG cid1 REFERENCES Parents
> TAG id
> ALTER TABLE Morechildren ADD PRIMARY KEY cid TAG cid REFERENCES Parents
TAG
> id
> ALTER TABLE Morechildren ADD CANDIDATE cid TAG cid REFERENCES Parents TAG
id
> CANDIDATE is a synonym for UNIQUE.
> Please note that the foreign key creation doesn't set up referential
> integrity. You have to go to RI Builder to do that.
> -Anders
>
> "Mikhail" <Mikhail@discussions.microsoft.com> wrote in message
> news:8014F7E0-D462-44A9-A58C-BC702530ED4E@microsoft.com...
> > Can i, using alter table command, add primary key, which refers to a
field
> in
> > other table?
> >
> > VFP Help Citation:
> >
> > ALTER TABLE TableName1 [DROP [COLUMN] FieldName3]
> > ...
> > [ADD PRIMARY KEY eExpression3 [FOR lExpression4] TAG TagName2
> > [COLLATE cCollateSequence]]
> >
> > In CREATE TABLE a can add primary key, which refers to field in another
> > table, but can't specify TAG for field which name is longer that 10
chars
> :
> >
> > VFP Help Citation:
> >
> > CREATE TABLE | DBF TableName1 [NAME LongTableName] [FREE]
> > ( FieldName1
> > ...
> > [PRIMARY KEY | UNIQUE [COLLATE cCollateSequence]]
> > [REFERENCES TableName2 [TAG TagName1]] [NOCPTRANS])
> >
>
- Previous message: Mikhail: "Re: Altering Table - Adding Primary Key With References"
- In reply to: Anders Altberg: "Re: Altering Table - Adding Primary Key With References"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|