테이블에서 데이터를 가져 와서 조작하고 다시 삽입하는 것이 가능하다는 것을 알고 있습니다. 제가 묻고있는 것은이를 수행 할 수있는 쿼리가 있는지 여부입니다.
예를 들어 데이터베이스는 db.db에 dogs 테이블이 있습니다. 해당 테이블에는 id, breed, age, name 열이 있으며 해당 id는 기본 키이고 자동 증가입니다 (이 기본 키 가정은 좋은 솔루션을 찾기 위해 변경할 수 있음).
나는 주변을 많이 검색했지만 모든 장소가 똑같은 말을합니다.
$db->query("SELECT breed, age, name FROM Dogs ORDER BY Age DESC");
그러나 앞서 말했듯이 테이블을 정렬하고 싶습니다. 이런 종류의 솔루션은 테이블 자체가 아닌 결과 세트에 적용되므로 제가이 질문을하는 이유입니다.
업데이트 : 제대로 구성하지 않아서 내 질문을 읽은 사람들을 오도 한 것에 대해 유감입니다. 나이 열을 기준으로 모든 열을 정렬하려고하지만 ID 열은 동일하게 유지할 수 있습니다. 도움이된다면 그게 제가 시도한 것입니다. 기본 키 가정을 변경하여 말할 수 있지만 잘못 나왔습니다.
UPDATE2 이 주제를 정확히 다루는 stackoverflow에서 또 다른 질문을 찾았습니다. 대답은 Quim Calpe 사용자가 나에게 제공 한 대답과 일치합니다. 즉, 다른 테이블을 만들고 거기에서 작업을 수행 한 다음 원본 테이블에 복사합니다. , 이제 질문은 다른 테이블을 만드는 것과 관련이없는이 작업을 수행하는 더 좋은 방법이 있습니까? 데이터베이스 시스템이 자체 방식으로 처리하도록하는 대신 테이블이 매우 커서 모든 작업을 수행 할 수 있다면 리소스 집약적 일 수 있다고 생각합니다.
다음과 같이 할 수 있습니다.
<?php
$db->query("CREATE TABLE DogsSortedByAge LIKE Dogs");
$db->query("INSERT INTO DogsSortedByAge SELECT * FROM Dogs ORDER BY Age DESC");
그러나 데이터가 디스크에서 그런 방식으로 정렬 될 것이라는 보장은 없습니다.
당신이 요구하는 것에 대한 유효한 사용 사례를 생각할 수 없습니다 ...
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다