이것은 내가 하나에 그것을 결합하는 이유 때문에, 꽤 관련이 2 부 질문 :동일한 열 이름에 여러 값 삽입 + 기존 항목 덮어 쓰기/업데이트?
1 부
나는 (합계를 최대 3 개 개의 다른 값으로 배열 $country
및 $redirect
각이 그들 사이의 6 명).
그러나 내 테이블에는 country
과 redirect
의 두 개의 열만 있습니다. 나는 $country[0], $country[1], etc
을 country
에 삽입하고 $redirect[0], $redirect[1], etc
을 redirect
으로 삽입하는 삽입 쿼리를 사용하고 싶습니다.
이것은 바보 같은 질문 일 수 있습니다.이 INSERT 쿼리는 단순히 값을 열로 반복하면됩니까?
INSERT INTO table_name (country, redirect) values ('$country[0]', '$redirect[0]', '$country[1]', '$redirect[1]', '$country[2]', '$redirect[2]')
그렇지 않은 경우 어떻게 작동합니까? for
루프를 사용할 수는 있지만 리소스 사용에 대해 우려하고 있습니다.
2 부
어떻게 열 country
의 값이 이미 존재하는 행을 갱신/덮어 않습니다.
예를 들어, Great Britain
은 같은 행에 있지만 redirect
열에 country
의 http://en-gb
이 이미 있습니다.
나는 INSERT INTO table_name (country, redirect) VALUES ('Great Britain', 'http://uk')
로 같은 INSERT 쿼리를 가지고, 및 I/덮어 Great Britain
이미 새로운 redirect
값으로 열 country
내에 존재하는 행을 업데이트하고 싶습니다.
답변/의견은 매우, 매우, 매우 감사하게 될 것이다 :) !! 첫 번째 질문에 대한
새 행에 여러 값을 입력 하시겠습니까? 그리고 두 번째 부분은'country'를 유일한 인덱스로 설정하고 INSERT ... ON DUPLICATE KEY UPDATE를 설정하는 것입니다. 이러한 유형의 작업은 때로는 UPSERT로 참조됩니다 (유효한 MySQL 키워드는 아니지만). – DaveRandom