2013-11-27 2 views
2

삽입 된 행의 다른 열 값을 기반으로 MySQL 테이블에 항목을 자동으로 증가시키는 방법이 있습니까? 예를 들어, 이것이 특정 사용자 이름의 다섯 번째 항목이라고 말할 수 있습니까?MySQL : 열 값에 따라 자동 증가?

내 검색어를 작성한 후에 행 수를 계산할 수 있음을 알고 있지만 그게 내가 찾고있는 것이 아닙니다. 나는 주변을 둘러 보았고 이것에 대해서 아무 것도 찾을 수없는 것 같습니다.

감사합니다.

+1

그런 식으로하면 자동으로 증가하지 않을 것입니다. 어쨌든 mySQL의 의미입니다. – Steve

+1

테이블에 삽입 트리거를 생성하고 거기에 로직을 추가 할 수 있습니다. 그러나 스티브가 언급했듯이 이것은 자동 증가하지 않을 것입니다. – Pepe

+0

@ Steve Alright,하지만 의미에 상관없이이 작업을 수행 할 수 있습니까? – user3011922

답변

2

테이블이 이고 2 열이 usernamecounter 인 것으로 가정합니다. 언급 한 사례의 예제 코드. 이것을 실행하여 트리거를 만듭니다. 모든 삽입물에 대해 발사해야합니다.

CREATE TRIGGER insert_update BEFORE INSERT ON Users 
FOR EACH ROW 
BEGIN 
    DECLARE name_count INTEGER; 
    SELECT COUNT(*) INTO @name_count FROM Users WHERE username = NEW.username; 
    INSERT INTO Users VALUES (NEW.username, @name_count+1); 
    END 
END 

면책 조항 :이 세계에서 가장 효율적인 또는 깨끗한 것은하지 않을 수 있습니다. 나는 다른 사람들이 생각해 낼 수있는 것에 흥미가있을 것이다.

+0

고맙습니다. 저는 현재 트리거에 대한 연구를하고 있습니다. 그래서 지금 무슨 일이 벌어지고 있는지 이해할 수 있으며 귀하의 답변에 진심으로 감사드립니다. – user3011922

+0

@ user3011922 행운을 빌어 요! 솔직히 위의 예제를 실제로 테스트하지는 않았지만 제대로 작동해야합니다. 나는 잠을 자고 있는데 질문이 있거나 이것이 작동하지 않으면 나에게 메시지를 쏘고 아침에 회신 할 것이다. – Pepe