2014-07-10 2 views
0

나는 사용하여 다양한 열 이름을 변경하려면 : 데이터 타입 (길이) :변경 MySQL의 열 이름

ALTER TABLE tablename CHANGE COLUMN oldname newname datatype(length); 

이 마지막 부분을 제외하고 쉽다. 열 유형이나 길이를 변경하지 않으려 고하기 때문에 이름을 지정하지 않아도되지만 필자가 읽은 것부터는 필수 항목으로 지정해야하므로 바보처럼 보일 것입니다. 자동화 된 코드가 필요합니다. 단지 데이터 유형 (길이)이 화면에 표시되는 테이블을 표시하는 명령이 아닙니다.; 그 값을 PHP 코드로 조작 할 수 있도록 변수 값을 PHP 변수에 넣고 싶습니다. 따라서 후자를 적용 할 수 있다면 $ datatype과 $ length를 제공하는 코드에 감사드립니다.

답변

1

INFORMATION_SCHEMA.COLUMNS 테이블에서 해당 정보를 선택할 수 있습니다.

select 
    DATA_TYPE, 
    CHARACTER_MAXIMUM_LENGTH, 
    IS_NULLABLE, 
    NUMERIC_SCALE, 
    NUMERIC_PRECISION 
    -- And many other properties 
from 
    INFORMATION_SCHEMA.COLUMNS 
where 
    TABLE_NAME = 'tablename' and 
    COLUMN_NAME = 'yourcolumn' 
+0

해당 정보를 $ datatype 및 $ length 변수에 넣기 위해 사용하는 정확한 PHP 코드는 무엇입니까? –

+0

다른 쿼리와 마찬가지로 작동합니다. 쿼리를 실행하고 결과를 읽을 수 있습니다. mysqli, PDO 또는 원하는 프레임 워크를 사용하여이 작업을 수행 할 수 있습니다. – GolezTrol

+0

나는이 오류 메시지가 얻을 : 성공적으로 실행 할 수 없습니다 쿼리 (INFORMATION_SCHEMA.COLUMNS에서 DATA_TYPE을 선택 어디 TABLE_NAME = MY_DATA 및 COLUMN_NAME = 'var100') 데이터베이스 : 알 수없는 열 'MY_DATA'에서 'where 절'내가 실행 이 코드는 // MY_DATA는 테이블 이름에 대한 상수 $ query = "INFORMATION_SCHEMA.COLUMNS에서 DATA_TYPE을 선택하십시오. 여기서 TABLE_NAME = MY_DATA 및 COLUMN_NAME = 'var100'"; $ result = mysql_query ($ query); while ($ row = mysql_fetch_assoc ($ result)) { $ datatype = $ row [ "DATA_TYPE"]; } echo "데이터 유형은 $ 데이터 유형입니다."; 오류를 수정하려면 어떻게 코드를 수정해야합니까? –