내가 하려는 일은 다음과 같습니다:
신규가 있을 때 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
테이블:
으아아아
🎜🎜🎜P粉0638625612023-10-17 18:44:15
이것은 삽입 시 동일한 테이블의 행을 업데이트하는 방법입니다
activationCode
和 email
是表 USER
라인.
삽입할 때 activationCode
값을 지정하지 않았으므로 MySQL에서 동적으로 생성됩니다.
변경 username
更改为您的 MySQL 用户名,并将 db_name
을 데이터베이스 이름으로 변경하세요.
P粉2621135692023-10-17 17:55:58
트리거에서는 이 모든 작업을 수행할 수 없는 것 같습니다. Documentation에 따르면:
이 답변에 따르면 다음과 같이 해야 할 것 같습니다.
저장 프로시저를 사용하면 변경 사항(삽입 및 업데이트)을 수동으로 커밋합니다. 아직 MySQL에서는 이 작업을 수행하지 않았지만 이 기사가 좋은 예인 것 같습니다.