2012-11-15 3 views
3

현재 튜토리얼을 읽고 내 기존 사이트에 무언가를 만드는 방법을 배우십시오.PHP/MySQL - 외국어 문제

튜토리얼 내가 내 데이터베이스

ALTER TABLE posts ADD FOREIGN KEY(post_by) REFERENCES users(user_id) ON DELETE RESTRICT ON UPDATE CASCADE; 

하고 테이블을 만들 질수 없다는 오류를 수신 메신저에 대해이 작업을 실행해야 하더군요.

'사용자'테이블은 기존 데이터베이스에서 가져온 것이고 그 외 모든 것은 새로운 것입니다.

이 자습서는 실행하기위한 몇 가지 변경 명령을 제공하며 '사용자'테이블을 사용하려고 시도 할 때를 제외하고 모두 완벽합니다.

전적으로 이것에 붙어있어, 어떤 도움을 주시면 대단히 감사하겠습니다.

건배

답변

8

테이블 유형을 확인하십시오. InnoDB이어야합니다.

+0

댕 오, 오른쪽은 사용자 테이블의 MyISAM입니다 ... 흠, 내가 그것을 변경하기 위해 실행할 수있는 SQL 명령이 위에? – BigJobbies

+2

@BigJobbies'ALTER TABLE 테이블 ENGINE = INNODB' – h2ooooooo

1

http://dev.mysql.com/doc/refman/5.1/en/alter-table.html을 살펴보면 각 엔진에서 어떤 옵션을 사용할 수 있는지 분명하게 알 수 있습니다.

설명하는 섹션을 살펴 보자

다른 스토리지의 경우 :

외래 키와 참조 절은 InnoDB의 스토리지 엔진

에 의해 지원됩니다 엔진에서 구문은 구문 분석되지만 무시됩니다.

그리고 h2ooooooo은 당신이 당신의 엔진을 변경할 수 있습니다 말했듯이 :

ALTER TABLE table ENGINE = INNODB 
관련 문제