Re: Altering Table - Adding Primary Key With References
From: Anders Altberg (x_pragma_at_telia.com)
Date: 09/03/04
- Previous message: Sietse Wijnker: "Re: Altering Table - Adding Primary Key With References"
- In reply to: Mikhail: "Altering Table - Adding Primary Key With References"
- Next in thread: Mikhail: "Re: Altering Table - Adding Primary Key With References"
- Reply: Mikhail: "Re: Altering Table - Adding Primary Key With References"
- Reply: Anders Altberg: "Re: Altering Table - Adding Primary Key With References"
- Messages sorted by: [ date ] [ thread ]
Date: Fri, 3 Sep 2004 10:08:51 +0200
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: Sietse Wijnker: "Re: Altering Table - Adding Primary Key With References"
- In reply to: Mikhail: "Altering Table - Adding Primary Key With References"
- Next in thread: Mikhail: "Re: Altering Table - Adding Primary Key With References"
- Reply: Mikhail: "Re: Altering Table - Adding Primary Key With References"
- Reply: Anders Altberg: "Re: Altering Table - Adding Primary Key With References"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|