A는 1,2 를 저장했고
B는 3,4 를 저장했는데
---------------------------------------------------------------
그럼 테이블에는 마지막에 저장한
만 남게되어서 1,2칼럼이 소실되게 됩니다.
이러한 경우 (1,2칼럼이 소실되지 않게 하기위해서는) 보통 해결책이 어떻게 되나요?
----------------------------------------------------------------------------------------
왜 이질문이 갑자기 나오는거죠...?
no이 pk라면 no(primary key)를 자동증가 설정안하신건가요?햇다면 1,2저장된 row는 no:1일거고 3,4는 no:2가 되겠죠
안그렇게 하고싶으면 컬럼을 하나더추가해서 누가 저장했는지 where절로 따지면 될거같은데요
INSERT INTO A VALUES(....usr_name='A') WHERE no =1;
1,2,3,4를 다 저장하고싶으시면(A가저장했는지 B가저장했는지 관여를떠나서 하자면)
INSERT INTO A VALUES( 1='A가고른값',2='A가고른값',3='A가고른값',4='A가고른값') WHERE no=1;
UPDATE A SET 1='B가고른값',2='B가고른값',3='B가고른값',4='B가고른값' WHERE no=1;
이야기흐름대로라면 A는 1,2만 저장할테니 새로운행을 저장할테고
다음으로 B가 선택한 3,4도 저장해야하니 UPDATE쿼리를 실행하면 둘다 저장되겠네요(물론 값이 겹치면 덮어씌워짐)
그리고
전제가 A, B 사용자가 no 1 데이터가 공란일 때 동시에 조회를 한 후<<====이 말씀도 사실 이상한게
no=1의 행이 데이터가 공란일때 어떠한 기준이 없어요 no가1인값을 가진행의 다른 컬럼들이 공란인것들을 하나씩 다따져보거나 다른 조건이 필요하지않을까요
select * from A where no=1; 이렇게 row를 가져와서(no1만두고 따지실거면)
1==null 또는 1=='' 이면 어떻게처리할건지 순차적으로 해야될거같은데요,,
왜 1,2,3,4를 다 저장해야되는지 부터 생각해보셔야될것같아요