2014-12-03 3 views
0

나는이 질문과 비슷한 다른 질문을 보았지만 행운이 없었다. 블로그 테이블에서 전체 외래 키 열을 삭제하려고합니다. 내 학생 테이블의 기본 키에도 연결됩니다. 어떻게 외래 키 열을 삭제할 수 있습니까?

Create table students 
(
studentid integer primary key NOT NULL, 
ulid varchar(20) NOT NULL, 
password varchar(20) NOT NULL, 
email varchar(50) NOT NULL 
) 

Create table blogs 
(
blogid integer primary key NOT NULL, 
blogdate date NOT NULL, 
title varchar(50) NOT NULL, 
description varchar(8000) NOT NULL, 
category varchar (50) NOT NULL, 
studentid integer NOT NULL, 
foreign key (studentid) references students (studentid) 
) 

나는이 시도하고

alter table blogs drop column studentid 

alter table blogs drop constraint studentid 

alter table blogs drop foreign key studentid 
+0

[MySQL은 일부 외래 키 제거] (http://stackoverflow.com/questions/838354/mysql-removing-some-foreign-keys) 가능한 중복. 기본적으로 실제 제약 조건 _name_이 필요합니다. 영향을받는 열이 없습니다. –

+0

하지만 제약 조건 이름을 모르겠습니다 ... – Tator

+0

링크 된 복제본은 제약 조건 이름을 찾는 방법을 알려줍니다. –

답변

0

이 SQL을 시도 작동하지 않았다 :

alter table blogs drop foreign key keyconstraint // for you it will be `blogs_ibfk_1` i think 

당신은 외국 constraind 사용 떨어 뜨릴에 문제가있는 경우 :

show create table blogs 

여기에서 생성 된 앞부분을 볼 수 있습니다. ign 키 제한 조건 이름. 다음 SQL에서 그것을 사용하십시오

+0

@ Tator 내가 제한 이름을 알기 위해 게시 한 쇼 SQL을 사용합니다. –

+0

SQL 구문에 오류가 있습니다. 당신의 MySQL 서버 버전에 해당하는 매뉴얼을 확인하십시오. 1 행의 '// table name'근처에서 사용하시오. – Tator

+0

: 테이블 생성 create table blogs –

관련 문제