我们有2张桌子:“大厅”和“培训师”;我们想要将“hall”表中的“id”列设置为“trainer”表中的外键

时间:2017-04-19 16:06:19

标签: sql sql-server

enter image description here

use OOP_project
create table hall
(
 hall_name nvarchar,
 )
 ALTER TABLE trainer
ADD FOREIGN KEY (hallid) REFERENCES hall(id);

alter table hall 
add id int

create table trainer
(
  hall_name nvarchar,
  trainer_name nvarchar,
  trainer_id int
)

EXEC sp_rename 'trainer.hall_name' ,'hall_id' , 'COLUMN'
EXEC sp_rename 'trainer.hall_id' ,'hallid' , 'COLUMN'
ALTER TABLE trainer ALTER COLUMN hall_id int

 create table ex_plan
(
 trainer_name nvarchar,
 ex_name nvarchar 
)
create table equ
(
 ex_plan_name nvarchar,
 eq_name nvarchar,
 eq_id int,
 eq_type nvarchar
)
create table customer 
(
 halle_name nvarchar,
 customer_name nvarchar,
 id int,
 height float,
 [weight] float,
 new_old nvarchar,
 [date] nvarchar,
 fees int,
 edge int,
 phone int,
 gender nvarchar,
 [time] int ,

)

create table hall (id int , [name] nvarchar)

1 个答案:

答案 0 :(得分:0)

你正在向后做所有事情。如果hall表格尚未存在,则您无法从trainer创建外键trainer。其次,创建外键需要先存在两个列;即使您将hallid重命名为hall_name,教练也没有hall_id字段。

与大多数计算机语言一样,SQL在操作顺序和标识符的确切命名等方面非常特别。如果数据库设置为区分大小写,它只是区分大小写,不像许多其他语言总是区分" A"来自" a",但它无法弄清楚" hall_id"应该与" hallid"相同。