내가 하려는 일은 다음과 같습니다:
신규가 있을 때INSERT
到表ACCOUNTS
中时,我需要通过设置status='E'phpcnend 来更新
ACCOUNTS
中的行,其中pk
=NEW.edit_on
cphpcn 来表示特定(旧)帐户已被编辑。
으아아아필요내 작업새로 삽입된열이 아니라이미 존재하는열입니다. 여기서pk = NEW.edit_on
pk = NEW.edit_on
<无法更新表 ACCOUNTS ... 已被调用此触发器的语句使用
그러나 동일한 테이블을 업데이트할 수 없습니다.
ACCOUNTS 테이블을 업데이트할 수 없습니다... 이 트리거를 호출한 명령문에서 이미 사용되었습니다.해결책을 제안해주세요
추신: 동일한 테이블에서 업데이트 후 트리거에서 테이블 업데이트를 수행하고, 동일한 테이블 트리거 mysql에 삽입하고, 삽입 후 트리거를 사용하여 동일한 테이블에서 업데이트하고, 테이블에 삽입한 후 mysql 트리거를 삽입 및 업데이트했지만 내 질문에 대답하지 않는 것 같습니다. .
편집ACCOUNTS
ACCOUNTS
테이블:
으아아아
이것은 삽입 시 동일한 테이블의 행을 업데이트하는 방법입니다
activationCode
和email
是表USER
라인. 삽입할 때activationCode
값을 지정하지 않았으므로 MySQL에서 동적으로 생성됩니다.변경
으아악username
更改为您的 MySQL 用户名,并将db_name
을 데이터베이스 이름으로 변경하세요.트리거에서는 이 모든 작업을 수행할 수 없는 것 같습니다.Documentation에 따르면:
이 답변에 따르면 다음과 같이 해야 할 것 같습니다.
저장 프로시저를 사용하면 변경 사항(삽입 및 업데이트)을 수동으로 커밋합니다. 아직 MySQL에서는 이 작업을 수행하지 않았지만이 기사가 좋은 예인 것 같습니다.