标题:大家指点一下SQL
只看楼主
亮剑
Rank: 1
等 级:新手上路
帖 子:148
专家分:0
注 册:2006-10-18
 问题点数:0 回复次数:2 
大家指点一下SQL

程序代码:

drop table user;
create table user(
ID int(10) primary key auto_increment,
password varchar(10),
user_name varchar(10),
actor_id int(10)
);

insert into user values(1,'joe','joe',1);
insert into user values(2,'kan','kan',2);
insert into user values(3,'gern','gern',2);
insert into user values(4,'jone','jone',3);
insert into user values(5,'jack','jack',3);
insert into user values(6,'jake','jake',3);

ALTER TABLE user ADD CONSTRAINT fk_actor
FOREIGN KEY (actor_id)
REFERENCES actor(id);

drop table actor;
create table actor(
ID int(10) primary key auto_increment,
actor_name varchar(10)
);

insert into actor values(1,'sup_user');
insert into actor values(2,'gen_user');
insert into actor values(3,'sim_user');

drop table droit;
create table droit(
ID int(10) primary key auto_increment,
droit_name varchar(10),
actor_id int(10)
);

ALTER TABLE user ADD CONSTRAINT fk_driot
FOREIGN KEY (actor_id)
REFERENCES actor(id);

insert into droit values(1,'I',1);
insert into droit values(2,'D',1);
insert into droit values(3,'M',1);
insert into droit values(4,'S',1);
insert into droit values(5,'I',2);
insert into droit values(6,'M',2);
insert into droit values(7,'S',2);
insert into droit values(8,'S',3);


大家指点一下 看看我这个表建的是否有问题!尤其是最后一张表

搜索更多相关主题的帖子: SQL 
2007-07-24 09:55
pity1115
Rank: 1
等 级:新手上路
威 望:2
帖 子:184
专家分:0
注 册:2006-9-15
得分:0 
ALTER TABLE droit ADD CONSTRAINT fk_driot //这里是droit不是user
FOREIGN KEY (actor_id)
REFERENCES actor(id);

如果前面的都对的话,最后一张也没问题的。我机子上一个数据库都没装,所以没法试。
但是我记得int类型是不需要给出长度的,默认是4位,而且在SqlServer里自动增长好像不是auto_increment,
不知道你用的是哪个数据库,。在插入数据的时候,自动增长的列是不用写数据的。

2007-07-24 11:21
ZoSo
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-6-30
得分:0 
楼上正解
2007-07-25 07:25



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-157638-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.238580 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved