2014-11-16 4 views
-11

저는 parttime_salary와 fulltime_salary의 두 개의 열이있는 급여 테이블이 있습니다.MySQL 열에 데이터가 있는지 확인하십시오.

조건은 두 열 모두 하나의 값만 저장해야한다는 것입니다. 따라서 사용자가이 표에 데이터를 입력하면 다음과 같은 일이 발생합니다.

1) 먼저 데이터에 이미 데이터가 포함되어 있는지 확인해야합니다. 그렇지 않은 경우, 해당 열에 데이터를 삽입해야합니다.

2) 그러나 데이터에 이미 데이터가 포함되어 있으면 기존 데이터를 새 데이터로 업데이트해야합니다.

제 질문은 테이블에 이미 데이터가 있는지 여부를 어떻게 확인할 수 있습니까? mysql_num_rows 함수를 사용했지만 작동하지 않습니다.

+2

지금까지 시도한 코드를 게시하십시오. mysql_num_rows를 사용하여 수행 할 수 있습니다 ... – willi

답변

0

나는이 행에 속하는 사용자를 지정하는 일종의 (심지어 소프트웨어) 외래 키가 있다고 가정합니다.

소프트웨어와 함께 지정된 사용자에 대해 행이 있는지 확인할 필요가 없습니다. UNIQUE(id_user,salary)을 추가하고 INSERT INTO을 입력하면 새 행을 추가하거나 기존 행을 업데이트 할 수 있습니다.

INSERT INTO table (field,...) VALUES (va1,...), (vb1,...) ON DUPLICATE KEY UPDATE field=VALUE(field),ID=LAST_INSERT_ID(ID);

당신은 그냥이 ON DUPLICATE KEY UPDATE 섹션의 급여 필드를 업데이트하도록 쿼리를 설정해야합니다.

관련 문제