0
수정하려는 각 행에 불완전한 필드 데이터가있는 테이블이 있습니다.Mysql "safe"merge
- 필드가있는 경우 :
mysql> CREATE TABLE test ( key INT a CHAR(1), b CHAR(1), c CHAR(1), ); mysql> CREATE TABLE test2 ( key INT a CHAR(1), b CHAR(1), c CHAR(1), ); mysql> INSERT INTO test (1,'','',''); mysql> INSERT INTO test (2,'X','',''); mysql> INSERT INTO test (3,'','Y',''); mysql> INSERT INTO test2 (2,'X','','Z'); mysql> INSERT INTO test2 (4,'X','Y','Z');
내가 파괴되지 않은 그래서 그 '키'필드를 기준으로 테스트에 TEST2 데이터를 "병합"하고 싶은 : 여기
는 내 말은 무엇을의 테스트에서 이미 지정된 키에 대해 비어 있지 않은 값이 있으면 유지됩니다. - test 필드가 비어 있고 test2의 해당 필드가 비어 있지 않으면 test2의 값은 test의 해당 필드를 주어진 키로 바꿉니다.
- test 및 test2의 필드가 모두 공백이 아니고 서로 다르면 아무 작업도 수행하지 않습니다. 아무것도 건드리지 않고 테스트 테이블에있는 구멍에 작성 등을
(1,'','',''); (2,'X','','Z'); (3,'','Y',''); (4,'X','Y','Z');
종류 :은 "병합"내가하고자하는 '테스트'테이블 데이터 후
는 다음과 같다합니다.
누구나이 방법을 생각할 수 있습니까?
와우! 10 분 이내에 나는 며칠 동안 나를 죽이고있는 문제에 대한 정확한 답을 얻습니다! 감사합니다. WoLPH! 정말 정말 고마워! Paul – KellerPaul
환영합니다 KellerPaul :) 또한 병합없이 삽입하려는 경우 기존 행을 무시하려면 'INSERT IGNORE INTO' – Wolph