복붙노트

[SQL] 어떻게 MySQL의에서 계산 된 필드를 만드는 방법?

SQL

어떻게 MySQL의에서 계산 된 필드를 만드는 방법?

나는 다음과 같은 테이블이 있습니다 :

create table info (username varchar(30),otherinfo varchar(100));

지금은 새로운 필드가이 표를 변경하려는이 분야는 기본적 값을 가지고있다

md5(username)

다음과 같은 :

alter table info add NewField varchar(100) default md5(username);

어떻게 그렇게 할까? 당신의 도움을 주셔서 감사합니다

해결법

  1. ==============================

    1.MySQL의 당 문서 (강조는 추가) 당신이 디폴트 값 식을 가질 수 없습니다 :

    MySQL의 당 문서 (강조는 추가) 당신이 디폴트 값 식을 가질 수 없습니다 :

    나는 다음과 같은 트리거가 의도을 위해 작동하는지 테스트했습니다 :

    CREATE TRIGGER MyTriggerName
      BEFORE INSERT ON info
      FOR EACH ROW
        SET NEW.NewField = md5(NEW.username);
    
  2. ==============================

    2.당신은 MySQL이 내장 MD5 기능을 가지고 주어진,이 기능을 달성하기 위해 트리거를 작성해야 또는 당신도 쓰기에 할 수있는 또는 MySQL을위한 MD5 알고리즘을 찾을 수 있습니다 :)

    당신은 MySQL이 내장 MD5 기능을 가지고 주어진,이 기능을 달성하기 위해 트리거를 작성해야 또는 당신도 쓰기에 할 수있는 또는 MySQL을위한 MD5 알고리즘을 찾을 수 있습니다 :)

    보세요 @ http://dev.mysql.com/doc/refman/5.0/en/triggers.html

    는 MD5 기능 여기 좀 봐

    http://dev.mysql.com/doc/refman/5.0/en/encryption-functions.html

    또한, MD5 더 이상 안전한 알고리즘 아니라는 것을 알아야한다.

  3. from https://stackoverflow.com/questions/4236912/how-to-create-calculated-field-in-mysql by cc-by-sa and MIT license