2011-11-07 2 views
0

나는 phpMyAdmin을 사용하고 있으며 "profile_types"테이블을 사용하여 데이터베이스에서 정보를 가져온 다른 사이트에서 작업하고 있습니다. 새 유형의 행을 추가해야했지만 웹 사이트는 반영되지 않았습니다. 변화들. 나는 주변에서 읽었고 "쿼리 캐시"를 yes로 설정 했으므로 캐시를 지우고 그 것이 도움이되는지 확인해야합니다.MySQL 다시로드 및 재설정 쿼리 캐시

읽기 후에는 쿼리 캐쉬를 재설정하려고했지만 계속 RELOAD 사용에 관한 오류가 계속 발생했습니다. 따라서 몇 가지 추가 정보를 읽은 후에는 RELOAD 명령을 사용하는 방법을 알 수 없습니다. 내가 아는 한 이것은 데이터베이스 전용 사용자 계정이므로 관리자라고 생각하고 필요한 권한을 가졌습니다. 내가 놓친 게 있니? 또한 RESET QUERY CACHE를 수행하면 사이트를 새 레코드로 업데이트 할 수 있다고 생각합니까? 내 브라우저 캐시를 지우고 모든 것을 시도 했으므로 아무 것도 생각하지 않아 이것이 내 마지막 옵션이었습니다.

답변

0

쿼리 캐시는 선택 결과를 나타냅니다. 삽입을 "캐싱"하지 않습니다. 쿼리가 캐시에 고정되어 다음 결과에 반영되지 않으면 데이터베이스가 ACID를 준수하지 않습니다.

다른 말로하면, 이것이 은행 데이터베이스이고 예금을 캐싱했으나 확실한 인출이 즉시 반영되었다고 상상해보십시오. 당신은 당좌 대월에서 익사하고있을 것입니다. 아 ... 기다려 ... 요즘 은행들이 일하는 법이야.

+0

그러나 옵션을 채우는 쿼리는 SELECT입니다. 수동으로 새 레코드를 삽입했습니다. 내 SELECT 비록 테이블에서 옵션을 채우는 것입니다 "선택 ptitle, PID idy 오라클 profile_types ORDER BY"그리고 그것은 새로운 옵션을 추가하지 않습니다. 나는 더 많은 것을 읽고 권한을 부여하는 방법을 발견하고 재 장전을 허가하려고 시도했지만 그것이 나에게 허락하지 않았다. –

+0

그런 다음 쿼리를 모두 오류 검사를 추가하십시오. BARE MINIMUM에서 데이터베이스 호출은'$ result = mysql_query ($ sql) 또는 die (mysql_error());'와 같이 보일 것입니다. 데이터가 데이터베이스에서 나오지 않으면 가장 먼저 데이터베이스에 들어 가지 않습니다. –

+0

고마워요, 그게 정확히 내 코드에서 결과를 반환하는 것입니다. 내가 말했듯이, 거기에 있던 모든 레코드를 반환합니다. 나는 지난 밤에 새로운 옵션을 추가했다. 그리고 그것은 밤이다. 그래서 이것은 아마도 다른 쿼리를 모두 반환하기 때문에 쿼리 캐시 문제 일뿐 코딩 문제가 아니라는 것을 확신합니다. 그러나 지금까지 팁을 가져 주셔서 감사합니다. –