kider 发表于 2007-7-30 09:27:54

建立/删除表关联(外键约束)语句及例子

Innodb存储引擎支持FOREIGN KEY和REFERENCES子句。

例子:

1、创建约束

ALTER TABLE DomainPatient
ADD CONSTRAINT FK_DPatient_XPatientTID FOREIGN KEY (PIXPatientTID)
      REFERENCES PIXPatient (PIXPatientTID) ON DELETE RESTRICT ON UPDATE RESTRICT;

表参考语句
/*==============================================================*/
/* Table: DomainPatient                                       */
/*==============================================================*/
create table DomainPatient
(
   DomainPatientTID               int unsigned                   not null AUTO_INCREMENT,
PIXPatientTID                  int unsigned,
   PatientSex                     char(1)                        not null,
   PatientBirthday                date                           not null,
   HomePhoneNumber                varchar(30),
   BizPhoneNumber               varchar(30),
   primary key (DomainPatientTID)
)
type = InnoDB;
注:PIXPatientTID需要是索引。


/*==============================================================*/
/* Table: PIXPatient                                       */
/*==============================================================*/
create table PIXPatient
(
   PIXPatientTID                  int unsigned                   not null AUTO_INCREMENT,
   PIXPatientID                   varchar(64)                  not null,
   PIXPatientStatus               varchar(64),
   primary key (PIXPatientTID)
)
type = InnoDB;

注意问题:所关联的列数据类型一定要相同,要有对应的索引,必须先建立索引。

2、删除约束

ALTER TABLE yourtablename DROP FOREIGN KEY fk_symbol;

[ 本帖最后由 kider 于 2007-8-7 19:08 编辑 ]
页: [1]
查看完整版本: 建立/删除表关联(外键约束)语句及例子