가끔 작업을 하다보면 MySQL 테이블의 특정 필드의 데이터 타입을 알고 싶을 때가 있다. 그동안 검색을 해봤을 때는 딱히 마음에 드는 방법이 없었고 다양한 환경에서 사용할 수 있어야 한다는 제약때문에 그 방법들을 사용하지 못했는데.. 오늘 그런 기능이 꼭 필요해서 또 검색을 하다가 혹시나 하는 생각에 PHP 코드를 만들어서 테스트해보니 이거.. 너무 쉽게 해결이 되더라는.. 검색할 때마다 MySQL 자체에서 데이터 타입을 알아내는 것만 나와서 거의 포기상태였는데.. PHP와 함께 하니 이게 참 쉽네. 안될 거라고 지레 짐작하고 시도도 안했으면.. 땅을 치고 후회할 뻔 했다는… ㅋ
<?php
$sql = " SHOW COLUMNS FROM `table_name` WHERE field = 'field_name' ";
$row = mysql_fetch_assoc(mysql_query($sql));
//print_r($row);
echo $row['Type'];
?>
위 코드는 MySQL 접속 부분은 빠져있다. 접속 부분은 각자 채워넣기로 하고.. ^^;
근데 참 신기한 것이 위 코드를 아래처럼 변경을 하면 원하는 결과가 나오지 않는다.
$result = mysql_query($sql);
$row = mysql_fetch_assoc($result);
기본이 제대로 안되어 있으니 왜 차이가 나는지 아직도 모르고 있다. ㅠㅠ