用的mysql 4.1三张表:两个实体:user,role,一个联系:user_rolesql语句分别是:create table user
( id int not null AUTO_INCREMENT,
username varchar(50) not null,
password varchar(50) not null,
primary key(id,username))type=innodb
create table role
( id int not null AUTO_INCREMENT,
rolename varchar(50) not null,
roleinfo varchar(50) not null,
primary key(id,rolename))type=innodb
======================================================
上面两个表没有问题.下面这个表就建不起来,总是说1005错误.CREATE TABLE `user_role` (
`id` int(11) NOT NULL auto_increment,
username varchar(50) not null,
rolename varchar(50) not null,
PRIMARY KEY (id,username,rolename),
foreign key(username) REFERENCES user on delete RESTRICT,
foreign key(rolename) REFERENCES role on delete RESTRICT)type=innodb;请问大家我这外键约束有错误么,望大家不吝赐教.
( id int not null AUTO_INCREMENT,
username varchar(50) not null,
password varchar(50) not null,
primary key(id,username))type=innodb
create table role
( id int not null AUTO_INCREMENT,
rolename varchar(50) not null,
roleinfo varchar(50) not null,
primary key(id,rolename))type=innodb
======================================================
上面两个表没有问题.下面这个表就建不起来,总是说1005错误.CREATE TABLE `user_role` (
`id` int(11) NOT NULL auto_increment,
username varchar(50) not null,
rolename varchar(50) not null,
PRIMARY KEY (id,username,rolename),
foreign key(username) REFERENCES user on delete RESTRICT,
foreign key(rolename) REFERENCES role on delete RESTRICT)type=innodb;请问大家我这外键约束有错误么,望大家不吝赐教.
解决方案 »
- :<mysql/mysql.h>: No such file or directory
- mysql 条件控制语句 if
- 放分100,sqlyog图像建表,报错,语句建表也报错。。。。。。。。。。。。。。。。。。。。。。。。。。。。
- 求SQL语句,删除一个表中,一个字段有重复记录的,只留下一条,其余删除
- Mysql与JSP开发好,还是与php更好?
- 高分求解!!(关于MYSQL的查询)
- mysql++在VC中编译出错
- 像facebook海量图片需要删除吗
- 特急!BCB使用MYSQL的ODBC安装问题
- Linux下mysql导入文件出错
- [求助]请教导出一条记录
- 〓〓【用group by 语句后,触发器写了出现的问题不解,100分请求帮助】〓〓
primary key(id,username)
......
primary key(id,rolename)
...
username,rolename两个分别是user,role表的主键,有错么
-----------------------------------------------
username,rolename两个分别是user,role表的主键列表成员..
如果ID是自增长型的,不需要做主键吧,unique就行了.另:REFERENCES user 后面都没指定列名.