首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

sql数据库 主键 外键的有关问题(建立一个聊天记录和人名相关的数据库)

2013-06-19 
sql数据库 主键 外键的问题(建立一个聊天记录和人名相关的数据库)现在想建立一个数据库 含两张表一张表为

sql数据库 主键 外键的问题(建立一个聊天记录和人名相关的数据库)
现在想建立一个数据库 含两张表

一张表为人的信息


CREATE TABLE users
(
id# int not null,
name char(10) not null,
gender char(7) not null,
birthdate datetime null,
qqid# char(20) not null
);

另一张为聊天记录

CREATE TABLE qq
(
qqid# char(20) not null,
timeforchat datetime not null,
chat text not null,
font varchar(100) not null
)


现在想在这两个数据库间建立一个主键外键的关系,

但是聊天记录表无法把qqid#当成主键,只能把(qqid#,timeforchat)当成主键

求问怎么把这两个表的qqid#关联起来

或者有没有什么其他的建立聊天记录表的方法可以借鉴?
[解决办法]

CREATE TABLE users
(
    id int not null,
    name char(10) not null,
    gender char(7) not null,
    birthdate datetime null,
    qqid char(20) not null primary key 
);

GO

CREATE TABLE qq
(
qqid char(20) not null constraint FK_QQ foreign key references users(qqid),
timeforchat datetime not null,
chat text not null,
font varchar(100) not null,
constraint PK_QQ primary key(qqid,timeforchat)
);



聊天记录表的qqid参照users表的qqid建立外键;
聊天记录表的qqid + timeforchat为联合主键。

[解决办法]
主表的qqid#建一索引,这样,从表的qqid#就可以建成外键了。

热点排行