제가 아직 디비 초보라서요. SQL문법도 잘 모릅니다.
테이블을 하나 정의했는데요. 구조는
(
name text primary key,
data int4 ,
...
...
score int4
)
이렇습니다. 여기서 제가 만든 CGI프로그램에 접속을하면
그사람의 아이디가 name에 저장됩니다.
그런데 처음 접속을 하면 물론 아이디가 없으니까
insert를 해야 하겠죠?
그리고 처음이 아니면 이름을 찾아서 data를 update
하도록 하고 있습니다.
그런데 libpq에서 이를 이용하려고 제가 썼던 방법은
select를 한 뒤에 리턴 값이 없으면 처음 접속한 것
이므로 insert를 하고 아니면 update를 하도록
하였습니다. 즉,
res=PQexec(conn, "SELECT xxx FROM xxx WHERE name = xxx");
if (PQgetvalue(res, 0, 0) == '\0') ... ...
뭐 이런 식인데요. 상당히 않좋은 방법인것 같습니다.
특히 PQgetvalue는 standard output으로 메세지를
출력하는 이상한 특징이 있어서요.
name필드에서 데이타가 존재하는지 안하는지 아는
다른 좋은 방법 있으면 알려주세요
그럼~
|