사용자가 텍스트 영역에 텍스트 블록을 입력하는 쿼리가 있습니다. 그들은이 정보를 데이터베이스에 저장할 수 있습니다. 문제는 그들이 정보를 변경하지 않았거나 정보가 이미 데이터베이스에있는 데이터와 일치하면 영향을받은 행에 대해 '0'을 받는다는 것입니다. 일반적으로 영향을받는 행이 없을 때 쿼리가 실패했다는 오류를 표시합니다. 더 구체적인 오류를 표시 할 수 있도록 데이터가 이미 존재하므로 영향을받은 행이 0 인 것을 어떻게 알 수 있습니까?제공된 정보가 이미 데이터베이스에있는 데이터와 일치하기 때문에 MySQL UPDATE 쿼리가 실패한 경우 어떻게 알 수 있습니까?
답변
, 당신은 같은 것을 할 수 있습니다 확인하실 수 있습니다
UPDATE
문이 행과 일치하지 않는 경우 영향을받은 행이 0이되는 또 다른 이유가 있습니다. 예를 들어 : 더 행 id = 1234
에 존재하지 않는 경우
UPDATE MyTable SET field = 'content' WHERE id = 1234;
0 영향을받는 행을 제공합니다. 이것도 오류가 아니며 단지 행과 일치하지 않는 것이 단지 UPDATE
입니다.
이 경우를 감지하는 방법은 SELECT
을 사용하여 이러한 행이 있는지 확인하는 것입니다. 행이 있음을 확인할 수 있지만 UPDATE
이 0 행에 영향을 미쳤다 고 말하면 변경하려고 시도한 값이 실제로 이미 데이터베이스에있는 행이라는 것을 알고 있습니다.
SELECT COUNT(*) FROM MyTable WHERE id = 1234;
하지만 구분이 중요하지 않을 수 있습니다. mysql_error()
에 @BoltClock에서 제시 한대로 오류가 있다고보고하면 오류가보고 될 수 있습니다. * 오류가 없다면 사용자에게 "변경 사항 없음"을보고하면됩니다.
* 참고 : 당신이하지이
mysql_error()
에 의해 반환 된 문자 메시지를보고해야합니까 . 이 메시지는 사용자에게 혼동을 줄 수 있으므로 좀 더 친숙한 것을보고하는 것이 좋습니다.
쿼리가 성공 했으므로 MySQL에서 오류 번호를 반환하지 않아야합니다 (오류 번호가 0이면).
// ... mysql_query() with the UPDATE query
if (mysql_affected_rows() == 0 && mysql_errno() == 0)
{
// Data was not changed
}
"mysqli"를 바로 사용하면 "mysql"은 가치가 떨어집니다. –
- 1. 이미 데이터베이스에있는 MySQL 테이블 이름의 이름을 바꿀 수 있습니까?
- 2. MySQL 쿼리가 PHP에서 아무것도 반환하지 않았는지 어떻게 알 수 있습니까?
- 3. 서브 쿼리가 영원히 남는 MySQL UPDATE 쿼리
- 4. 기본 키로 MySQL UPDATE 쿼리가 매우 느립니다.
- 5. 바이트 배열이 이미 압축되었는지 어떻게 알 수 있습니까?
- 6. 아이폰에 인터넷 정보가 있다는 것을 어떻게 알 수 있습니까?
- 7. 빌드 서버에서 실패한 테스트에 무엇이 잘못되었는지 어떻게 알 수 있습니까?
- 8. mysql 테이블이 업데이트되었는지 어떻게 알 수 있습니까?
- 9. PHP/MYSQL Show Image 데이터베이스에있는 경우
- 10. 이 mySQL 쿼리가 더 빠를 수 있습니까?
- 11. 쿼리가 캐시인지 데이터베이스에서 검색되는지 어떻게 알 수 있습니까? 예
- 12. Perl을 사용하여 MySQL 테이블 일치하기
- 13. NSUserDefaults가 이미 저장되어 있는지 어떻게 알 수 있습니까?
- 14. hadoop namenode가 이미 포맷되어 있는지 어떻게 알 수 있습니까?
- 15. 개체 집합이 이미 만들어 졌음을 어떻게 알 수 있습니까?
- 16. 사용자가 이미 Facebook에 로그인 한 것을 어떻게 알 수 있습니까?
- 17. , 사용자가 이미 제품 (소모품)을 구입했는지 어떻게 알 수 있습니까?
- 18. 자바 스크립트 생성자가 이미 실행되었는지 어떻게 알 수 있습니까?
- 19. 스크롤보기가 이미 아래로 스크롤되었는지 어떻게 알 수 있습니까?
- 20. 개체가 이미 참조되어 있는지 어떻게 알 수 있습니까?
- 21. jQuery : div가 이미 존재하는지 어떻게 알 수 있습니까?
- 22. 어떻게 알 수 있습니까?
- 23. MySQL UPDATE 쿼리 최적화
- 24. UINavigationController에서 팝업 후보기 재구성 때문에 밀어 넣기 때문에 viewcontroller가로드되었는지 어떻게 알 수 있습니까?
- 25. mysql update statement
- 26. mysql php update function problem
- 27. 조건부 MySQL 문. 진실한 UPDATE, 거짓 인 경우 INSERT
- 28. 데이터베이스에있는 모든 개체를 찾으려면 쿼리가 필요합니까?
- 29. SqlDateTimeOverflow의 출처를 어떻게 알 수 있습니까?
- 30. mysql select update
구별이 중요하지 않을 수 있음을 지적 해 주셔서 감사합니다. 나는 당신이 제안한 것처럼 일반적인 오류로 만들었습니다. –