MySQL - 삽입 작업 후 동일한 테이블을 업데이트하도록 트리거됩니다.
P粉419164700
P粉419164700 2023-10-16 20:01:46
0
2
595

내가 하려는 일은 다음과 같습니다:

신규가 있을 때INSERT到表ACCOUNTS中时,我需要通过设置status='E'phpcnend 来更新ACCOUNTS中的行,其中pk=NEW.edit_oncphpcn 来表示特定(旧)帐户已被编辑。

으아아아

필요내 작업새로 삽입된열이 아니라이미 존재하는열입니다. 여기서pk = NEW.edit_onpk = NEW.edit_on

<

无法更新表 ACCOUNTS ... 已被调用此触发器的语句使用그러나 동일한 테이블을 업데이트할 수 없습니다.

ACCOUNTS 테이블을 업데이트할 수 없습니다... 이 트리거를 호출한 명령문에서 이미 사용되었습니다.

해결책을 제안해주세요
추신: 동일한 테이블에서 업데이트 후 트리거에서 테이블 업데이트를 수행하고, 동일한 테이블 트리거 mysql에 삽입하고, 삽입 후 트리거를 사용하여 동일한 테이블에서 업데이트하고, 테이블에 삽입한 후 mysql 트리거를 삽입 및 업데이트했지만 내 질문에 대답하지 않는 것 같습니다. .

편집

ACCOUNTS

ACCOUNTS
테이블:

으아아아
P粉419164700
P粉419164700

모든 응답 (2)
P粉063862561

이것은 삽입 시 동일한 테이블의 행을 업데이트하는 방법입니다

activationCodeemail是表USER라인. 삽입할 때activationCode값을 지정하지 않았으므로 MySQL에서 동적으로 생성됩니다.

변경username更改为您的 MySQL 用户名,并将db_name을 데이터베이스 이름으로 변경하세요.

으아악
    P粉262113569

    트리거에서는 이 모든 작업을 수행할 수 없는 것 같습니다.Documentation에 따르면:

    이 답변에 따르면 다음과 같이 해야 할 것 같습니다.

    저장 프로시저를 사용하면 변경 사항(삽입 및 업데이트)을 수동으로 커밋합니다. 아직 MySQL에서는 이 작업을 수행하지 않았지만이 기사가 좋은 예인 것 같습니다.

      최신 다운로드
      더>
      웹 효과
      웹사이트 소스 코드
      웹사이트 자료
      프론트엔드 템플릿
      회사 소개 부인 성명 Sitemap
      PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!