这里我的数据库中有四个名为test_center
的表。那些是:
test_user
- > PK = u_id
test_metadata
- > PK = test_id
student_detail
- > PK = Student_id
test_records
- > PK = test_record_id
(子表)表4是儿童表,1,2,3是主人
我正在尝试test_records
表从每个主表中获得三个外键,但它显示如下错误。 (我使用的是MySQL Workbench 5.0和MySQL服务器)
错误1005:无法创建表'test_center。#sql-aa4_12'(错误号:121)
SQL语句:
ALTER TABLE `test_center`.`test_records`
ADD CONSTRAINT `Student_id`
FOREIGN KEY (`Student_id` )
REFERENCES `test_center`.`student_detail` (`Student_id` )
ON DELETE CASCADE
ON UPDATE CASCADE,
ADD CONSTRAINT `test_id`
FOREIGN KEY (`test_id` )
REFERENCES `test_center`.`test_metadata` (`test_id` )
ON DELETE CASCADE
ON UPDATE CASCADE,
ADD CONSTRAINT `u_id`
FOREIGN KEY (`u_id` )
REFERENCES `test_center`.`test_user` (`u_id` )
ON DELETE CASCADE
ON UPDATE CASCADE
错误:运行故障回复脚本时出错。细节如下。 错误1046:未选择数据库
SQL语句:
CREATE TABLE `test_records` (
`test_record_id` int(11) NOT NULL AUTO_INCREMENT,
`test_name` varchar(45) NOT NULL,
`Result` float NOT NULL,
`status` varchar(45) NOT NULL,
`Student_id` varchar(45) NOT NULL,
`u_id` int(11) NOT NULL,
`test_id` int(11) NOT NULL,`enter code here`
PRIMARY KEY (`test_record_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
答案 0 :(得分:1)
您的查询无法识别数据库。您需要告诉MySQL使用哪个数据库:
USE database_name;
在创建表之前。如果数据库不存在,则需要将其创建为:
CREATE DATABASE database_name;
接着是
USE database_name;