나는 카운터 (int)로 작동하는 mysql 테이블 컬럼을 가졌다. 내가 그 열을 업데이트 할 때마다 나는 그것이 46테이블 열에 1을 더하려면 어떻게해야합니까?
가 어떻게 SQL에 있다고 할 수있을하려는 필드의 값은 45이었다 그렇다면 1.
와 plussed 얻을 싶어?
당신과 같은 쿼리를 사용할 수 있습니다나는 카운터 (int)로 작동하는 mysql 테이블 컬럼을 가졌다. 내가 그 열을 업데이트 할 때마다 나는 그것이 46테이블 열에 1을 더하려면 어떻게해야합니까?
가 어떻게 SQL에 있다고 할 수있을하려는 필드의 값은 45이었다 그렇다면 1.
와 plussed 얻을 싶어?
당신과 같은 쿼리를 사용할 수 있습니다MySQL v5.0.2 이상은 행 중 하나에서 삽입/업데이트/삭제 작업이 수행 될 때마다 실행되는 코드 조각 인 트리거를 지원합니다.
당신이 때마다 일이 원하기 때문에 MySQL은 트리거에 대한 자세한 내용은 this link
일이 : 당신에게 달려 테이블의 이름과 열 ;-)를 교체하려면 물론
update your_table
set your_column = your_column + 1
where identifier = X
,
그리고의 조건 확인하기 where
절은 OK입니다 ;-)
을 확인를 들어, 트리거 사용할 수 있습니다
delimiter //
create trigger increment_field before update on your_table
for each row
begin
if new.your_column <> old.your_column then
set new.your_column = new.your_column + 1
end if;
end;//
delimiter ;
내가 당신의 질문을 이해 완전히 확실하지 오전입니다. 위의 해결책은 your_column에 다른 값이 주어지면 행을 업데이트 할 때마다 your_column = new_value + 1을 대신 만들 것입니다. 새 키워드와 이전 키워드를 사용하고 각 행에 사용 된 조건을 사용자의 필요에 맞게 변경해야합니다.
이렇게하고 방아쇠를 당깁니다. @ 파스칼 : 질문에 대한 각 업데이 트에 대해 묻습니다. –