求助:创建外键约束时提示报错
Error Number : 1005 
Error Message: Can't create table 'studentoa_dbpcandtemplate.#sql-a94_1' (errno: 150)
用的是Mysql数据库
创建user 表sql 脚本如下:
drop table if exists user;
use studentoa_dbpcandtemplate;
drop table if exists user
  create table user(
 id int not null,
 account varchar(20) NOT NUll ,
 password varchar(20),
 name varchar(20),
 sex char(1),
flag int, //标记属性  1表示Students  2表示Teacher
 constraint pk_name primary key(id,account)
 );创建breach 表sql脚本
drop table if exists breach;
create table breach(
 id char(6) primary key,  
 type varchar(50),
 score int,
 date DateTime,
 stuaccount  varchar(20) not null,
 constraint (fk_stubreach_user) foreign key(stuaccount) references user(account) 
 );

解决方案 »

  1.   

    用这个试试
    create table breach(
     id char(6) primary key,  
     type varchar(50),
     score int,
     date DateTime,
     stuaccount  varchar(20) not null,
     constraint fk_stubreach_user foreign key(stuaccount) references user(account) 
     );
      

  2.   

      create table user(
     id int not null,
     `account` varchar(20) NOT NUll ,
     `password` varchar(20),
     `name` varchar(20),
     sex char(1),
    flag int, #标记属性  1表示Students  2表示Teacher
     constraint pk_name primary key(account)  #主键设置成account
     );create table breach(
     id char(6) primary key,  
     type varchar(50),
     score int,
     date DateTime,
     stuaccount  varchar(20) not null,
     constraint fk_stubreach_user foreign key(stuaccount) references user(account) 
     );
      

  3.   

    我明白错误所在了,constraint 后的 constraint name 不应该放在()中