내가 (안드로이드에서 사용) 버그에 대한 SQL을 해결하기 위해 노력하고있어 원인, 문은 기본적으로 다음과 같습니다시간 오류
는INSERT INTO log (time, message) VALUES (datetime('now'),<a_message>);
은 "날짜는 (지금)"것 같다 데이터베이스의 핵심이며 문제는 1 밀리 초 이내에 2 회 호출 될 수 있다는 것입니다. 이 경우 키가 고유하지 않으므로 SQL 오류가 발생합니다.
REPLACE를 (를) 사용할 수는 있지만 하나 이상의 항목을 덮어 쓰게됩니다. 또한 오류 코드를 확인하고 잠자기 한 다음 다시 시도 할 수 있습니다. 나는 누군가가이 문제에 대해 더 나은 해결책을 갖고 있는지 궁금 할 뿐이다. 나는 SQL에 익숙하지 않다.
감사합니다.
왜 키에 자동 증가 필드를 사용하지 않습니까? – BeRecursive
@BeRecursive 테이블을 재 설계 할 권한이 없습니다. 책임자에게만 입력 할 수 있습니다. 만약 내가 할 수만 있다면 아마도 이것이 최선의 해결책 일 것입니다. – dac2009
그러면 가장 좋은 답변에서 언급 한 바와 같이 약간 혼란에 빠지게됩니다. 키에 임의의 해시를 생성 한 다음 로그 메시지 앞에 시간을 추가하면 어떨까요? 이렇게하면 로그에 대한 쿼리 속도가 크게 느려지지만 시간이 중요한 작업이 아닐 수도 있습니다. – BeRecursive