MYSQL에서 INSERT ... ON DUPLICATE KEY UPDATE
구문을 알고 있지만 대신 다른 것을 삽입 할 수있는 방법이 있습니까? 보다 구체적으로, 내가 가진 말 :MYSQL ON DUPLICATE KEY 다른 것을 삽입하십시오
INSERT INTO main (a,b,c,d,e) VALUES ('$a','$b','$c','$d','$e');
열이 "a"는 고유하며 내가 그들의 데이터를 검색하기 위해 클라이언트 이메일로 전송 링크에서 공용 쿼리 문자열로 사용할 임의의 10 자리 영숫자 문자열을 포함
DB에서. 가능성은 62^10 가지 가능성이있는 것과 똑같은 문자열을 생성 할 가능성이 희박하지만 이미 존재하는 10 자리 문자열이 $a
에 있다고 생각합니다. 내가 백업으로 $a2
에 두 번째 문자열을 생성하고 지금은 $a2
을 사용하는 경우 $a
경우 위의 삽입 진술을 수정하고 싶습니다. 이상적으로 다음과 같은 것을 찾고 있습니다.
INSERT INTO main (a,b,c,d,e) VALUES ('$a','$b','$c','$d','$e') ON DUPLICATE KEY USE $a2 INSTEAD OF $a;
어떻게 할 수 있습니까? 내가 아는 한 ON DUPLICATE KEY INSERT something else
구문은 존재하지 않습니다. 또한 내 항목 목록은 약 20-25 자의 키 - 값 쌍으로되어 있으므로 전체 키 - 값 쌍 목록을 다시 작성하지 않고 다른 "a"만 삽입하는 무언가를 찾고 있습니다. 감사합니다. .
그러나 기존 항목의 'a'열을 단순히 업데이트하는 것이 아닙니까? 고유 한 'a'로 완전히 새로운 항목을 삽입해야합니다. – Oliver
@Oliver. . . 명확하게 해 주셔서 감사합니다. –
와우 그게 복잡해. 죄송합니다.이 구문을 이해하지 못합니다. 일부 키워드가 누락되지 않았습니까? 예를 들어,'SELECT 1 FROM main m'은 의미가없는 것 같습니다 (아마'as' 아마도?)'x'와 같습니다. 마지막 줄은 무엇을합니까? 'FROM (SELECT ...'?) 변수를 열 이름으로 정의 하시겠습니까? 내 알지 못해 죄송합니다., – Oliver