2016-09-26 4 views
1

저는 SQL을 처음 사용하고 데이터베이스에 테스트 테이블을 가지고 있습니다. ,열 유형을 수정하는 테이블을 변경하지 않고 종료하지 않습니다.

ALTER TABLE test MODIFY title VARCHAR(500);

그러나 문은 종료하지 : 내 이전의 제목 크기 할당이 너무 작은 것을 깨달았다, 그래서 나는 다음과 같은 명령을 실행하여 VARCHAR에 VARCHAR (120) (500)에서 증가 할 테이블에 20 개 미만의 항목이 포함되어 있어도 마찬가지입니다.

여기에 뭔가가 있습니까?

편집 : these answers 떨어져 그 명령을 내놓고, 그러나 나는 또한 시도했다 : 중 하나를 종료하지 않습니다

ALTER TABLE test MODIFY COLUMN title VARCHAR(500);

.

답변

1

누락 생각하고 행의 작은 번호를 가지고, 가장 가능성있는 이유는 다른 있다는 것입니다 이 테이블에 자물쇠를 잡고있는 프로세스. 열려있는 다른 클라이언트에 연결하십시오. 이것은 mysql 작업 벤치, 장기 실행 스크립트, django 콘솔 등등의 다른 인스턴스 일 수 있습니다.

그런 다음 쿼리를 다시 시도하십시오. 그 여전히 작동하지 않으면, SHOW OPEN TABLES

https://dev.mysql.com/doc/refman/5.7/en/show-open-tables.html

+0

그게 바로 이전에 오류가있는 mysql 인스턴스였습니다.'(1406, "행 1의 열 'title'에 너무 긴 데이터)'varchar를 처음에 늘리라는 메시지가 다른 화면에서 계속 실행 중이었습니다 . –

0

ALTER TABLE 테스트 ALTER COLUMN title VARCHAR (500);

+0

죄송합니다 ... 그냥이 MySQL을했다 주목 해보십시오. SQL Server 용 – DanielG

-1

시도해보십시오.

ALTER TABLE test MODIFY COLUMN title VARCHAR(500);

난 당신이 구문 오류가 발생하지 않기 때문에 당신이 키워드COLUMN

+0

COLUMN의 사용자는 선택 사항입니다. – e4c5

+0

빠른 답장을 보내 주셔서 감사합니다. 저는 같은 명령을 시도했습니다. –