어떻게 설명 할 수 있을지 모릅니다.이 예제는 가비지 쿼리가 도움이 될 수 있습니다.필드가 존재하는지 확인한 다음 결과 집합을 반환하십시오.
SELECT if_exists(Fieldname) * FROM my table name
나는 Fieldname
필드가 존재하는 경우에만 데이터베이스의 모든 행을 선택하려합니다.
당신은 당신은 SHOW COLUMNS 표현을 사용할 수 있습니다
어떻게 설명 할 수 있을지 모릅니다.이 예제는 가비지 쿼리가 도움이 될 수 있습니다.필드가 존재하는지 확인한 다음 결과 집합을 반환하십시오.
SELECT if_exists(Fieldname) * FROM my table name
나는 Fieldname
필드가 존재하는 경우에만 데이터베이스의 모든 행을 선택하려합니다.
당신은 당신은 SHOW COLUMNS 표현을 사용할 수 있습니다
SHOW columns from `yourtable` where field='yourfield'
당신은 빈 행을 얻을 것이다.
필드가 동적으로 생성되면 문제가 보편적으로 해결되지 않습니다. – Ray
나를 도울 수 있습니다. http://snippets.dzone.com/posts/show/4663이
show 열을 사용할 수 있지만 PHP에서 쿼리를 실행하므로 가장 짧은 프로세스를 먼저 찾습니다. – mrN
당신이 뭔가를해야
또한 나는이 솔루션을 발견했다. 죄송합니다. 구문이 괜찮은지 테스트 할 수 없습니다. 당신이 그 테이블에서 해당 필드를 해달라고하면SELECT * FROM table WHERE EXISTS (SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name=table AND column_name=column)
내가 사용하는 쿼리 : 열이 없으면 열을 반환하지 않습니다. 필요하면 변경할 필요가 없습니다.
SET @VAR_SQL := Concat('SELECT first_row',CONCAT(IFNULL((SELECT CONCAT(',',COLUMN_NAME) FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'my_table'
AND COLUMN_NAME = 'my_column'),'')),' FROM my_table;');
PREPARE QUERY_STATEMENT FROM @VAR_SQL;
EXECUTE QUERY_STATEMENT;
일반 PHP에서 다음 코드는 잘 작동합니다 :
$chkcol = mysql_query("SELECT * FROM `table_name` LIMIT 1");
$mycol = mysql_fetch_array($chkcol);
if(isset($mycol['column_name']))
$results = mysql_query("SELECT * FROM `table_name`");
else
$results = false;
난 당신이 무슨 뜻인지 이해가 안 돼요. 당신은 명확히 할 수 있습니까? –
@ 페카, 설명을 참조하십시오 – mrN
@downvoter, downvote를 명확히 할 수 있습니까? – mrN