MySQL은 임시 쿼리에 해당 옵션을 제공합니다. --safe-updates (또는 --i-am-a-dummy)라고합니다. 다른 사람들이 지적했듯이, 우리는 의 모든 실수를 한 번 겪었습니다. 임시 쿼리를 실행하는 우리 중 누구도 항상 오전 1시에 을 실수로 두 번 이상 만들었습니다.
나는 "바보 증명"시스템과 "확실합니까?"대화 상자가 일반적으로 싫지만 나는이 옵션을 좋아합니다. 조심해야하지만주의조차해야합니다. 천 시간당 하나의 오류가 발생할 수 있습니다. 프로덕션 시스템에서 주를 루트로 로그인 한 시간이 50 시간이라면, 은 1 년에 2 1 분의 2 대 스크류 업입니다. 그 이유와 다른 이유로, 우리는 --safe-updates가 매우 유용하다는 것을 알게됩니다.
대부분의 MS 확인 메시지보다 유용한 두 가지 이유가 있습니다. 먼저 오류가 될 가능성이 높은 내용 인 ""을 찾아냅니다. "그 파일을 삭제 하시겠습니까?" 대부분의 파일 삭제 정말 원하는, 그래서 성가심 확인입니다. 대부분의 " 사용자 삭제"에서 where 절이 누락되면 실제로 오류가 발생합니다. 둘째, 가능성이있는 문제가 정확히 무엇인지를 가리키는 입니다. 누락 된 where 절입니다. 그것은 입니다. 파일 삭제 확인 메시지가 "실제로는 새 업데이트 된 사본이 아니고 삭제하려는 복사본이 아닙니다. 실제로 새 복사본을 삭제 하시겠습니까, 아니면 삭제하려고 했습니까? 옛것 대신에? "
어쨌든, 일반적으로 나는 "멍청한 증거"가 싫지만 나는 안전 업데이트가 좋고 옵션을 사용하면 필요하지 않은 사람들에게 유용합니다. 저의 관심사 인 은 기능이있는 시스템에서 지속적으로 작업하는 경우 MySQL에서 MSSQL으로 전환하는 것과 같은 시스템없이 시스템으로 전환 할 때 누군가가 지저분하고 문제가 발생할 수 있습니다.
마지막주의 사항을 긁으십시오. 오픈 소스에 익숙해지면 올바른 생각을 가진 사람이 누구도 MS로 전환하지 않습니다. :)
출처
2010-04-01 22:26:58
Ray
당신은 뇌사가 단순히 1 = 1 로테이트를 추가하지 않고 대신 생각하기 시작할 것이라고 가정하고 있습니다. 나는 그것이 일어날 것이라고 생각하지 않습니다. 결국 그들은 뇌사 상태입니다. 한편, 모든 기업은 "보안"을 위해 항상 "조쉬"옵션을 설정해야하며 사고 세계는 당신을 사냥하여 죽일 것입니다. IMHO, 물론, YMMV. –
그래서 where 절이없는 업데이트와 삭제를 고의적으로 실행하는 것이 일반적이며, "사고 세계"는 나를 죽이려는이 옵션에 너무 귀찮을 것입니다. – Josh
나는 사람들이'WHERE 1 = 1'을 타이핑하는 법을 배워야한다고 주장하지 않는다. 그러한 습관을 개발하기 위해서는 업데이트가 모든 행에 실제로 적용되기를 원하는 상황이 자주 발생해야하며, 그렇게하지 않으면 상황이 훨씬 덜 일반적으로 보입니다. 'WHERE 1 = 1'과 같은 것을 요구하는 요지는 실수로 F5를 너무 빨리 치거나 WHERE 절을 제외한 모든 것을 선택했던 사람들을 보호하기위한 것입니다. . –