作者fake01 (code)
看板Database
标题[SQL ] 新增外来键 另张表格不属於主键
时间Fri Nov 2 15:15:33 2012
我又来问 外来键了 不好意思
这次的问题是,我要建立一个外来键,但是此外来键不属於
指定另一个资料表的主键。
ERROR: 在资料表 'Attitude' 的资料行层级 FOREIGN KEY 条件约束中,指定了
一个以上的索引键。
我的表格
LowData
CREATE TABLE [LowData] (
[RID] int Not null,
[CarID] varchar(50) not null,
[RoadID] varchar(50) not null,
[TimeID] varchar(50) not null,
[BehaviorID] varchar(50) not null,
[X] float not null,
[Y] float not null,
[Z] float not null,
[DeltaCompass] float not null,
[Pitch] float not null,
[Roll] float not null,
[Temperature] float not null,
[Humidity] float not null,
[Voice] float not null,
[Run]varchar(50) not null,
CONSTRAINT LowDataPK PRIMARY KEY (RID))
CREATE TABLE [Attitude] (
CarID VarChar(50) NOT NULL ,
Run VarChar(50) NOT NULL ,
Item1 BIT NOT NULL,
Item2 BIT NOT NULL,
Item3 BIT NOT NULL,
Item4 BIT NOT NULL,
Item5 BIT NOT NULL,
Item6 BIT NOT NULL,
Item7 BIT NOT NULL,
Item8 BIT NOT NULL,
Item9 BIT NOT NULL,
Item10 BIT NOT NULL,
Item11 BIT NOT NULL,
Item12 BIT NOT NULL,
Item13 BIT NOT NULL,
Item14 BIT NOT NULL,
Item15 BIT NOT NULL,
Item16 BIT NOT NULL,
CONSTRAINT AttitudePK PRIMARY KEY (CarID,Run),
[AttitudeFK] varchar(50) references LowData(CarID,Run)
就在 [AttitudeFK] varchar(50) references LowData(CarID,Run)
这行因为我要指定 AttitudeFK 为外来键 指向 LowData的CarID和Run
而CarID和Run 又不是LowData的主键, 请问该如何写呢?
PS. 目的是为了再新增资料时 LowData 需先有资料
在另外换算计算出 Attitude的 资料 (先新增LowData,再新增Attitude)
谢谢各位
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.138.152.9