[PHP] MySQL에서 특정 필드의 데이터 타입 알아내기
가끔 작업을 하다보면 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);
기본이 제대로 안되어 있으니 왜 차이가 나는지 아직도 모르고 있다. ㅠㅠ