찾다

 >  Q&A  >  본문

MySQL의 한 테이블에서 다른 테이블로 데이터를 복사하는 예약된 이벤트가 빈 결과를 반환합니다.

phpMyAdmin 로컬 서버에서 실행: 두 개의 테이블이 있습니다: user(有数据)和user_t(비어 있음). 열 이름, 순서 및 유형이 동일합니다(user_t 테이블에는 입력 타임스탬프를 위한 추가 열이 있습니다).

을(를) 만들고 삭제하고 싶습니다. 매우 간단합니다. 计划事件来检查每个用户日志的时间戳是否具有特定值,如果存在,我想将其复制到user_t 同时从 user

삭제는 잘 됩니다. 나를 곤경에 빠뜨리는 것은 바로

입니다. INSERT INTO user_t SELECT * FROM user WHERE user.reg < CURRENT_TIMESTAMP - INTERVAL 3 MINUTE;

이벤트를 만드는 데 사용한 코드는 다음과 같습니다. 으아악

그러나 계속 돌아옵니다

. 그래서 내가 뭔가 잘못하고 있는 게 틀림없다고 생각했어요. 이 코드가 작동하도록 진심으로 도와주실 수 있나요? 결국, 그것은 튜토리얼에서 나온 것이므로 괜찮을 것입니다. 空结果

코드를 사용해 보았고 연구도 고려해 보았지만

이런 작업을 하기에는 너무 부피가 큰 것 같습니다. 事务

편집

그래서 nbk의 코드를 가지고 놀다가 마침내 그것을 알아냈고 여기에 나에게 도움이 된 코드가 있습니다(테이블과 열 이름을 일반화하여 누구도 오해하지 않도록 했습니다):

으아악

앞으로 저와 같은 사람들에게 도움이 되기를 바랍니다. 빠른 도움을 주신 nbk에게 다시 한번 감사드립니다. 정말 감사합니다. 물론 귀하의 답변이 정확합니다.

P粉615886660P粉615886660483일 전669

모든 응답(1)나는 대답할 것이다

  • P粉092778585

    P粉0927785852023-09-10 00:57:50

    1분마다 이벤트를 실행하고 마지막 3분을 입력하려고 하는데, 새로운 삽입이 그렇게 많은지, 아니면 Python 스크립트가 필요한지, 한 시간 동안 이런 삽입이 필요한지 모르겠습니다. ==>테스트 목적으로 빈도를 1분으로 설정했습니다...

    이벤트는 다시 작성해야 합니다.

    먼저, 정말로 중복을 원하시나요? 아마도 INSERT IGNORE, 제약 조건을 위반하면 새 줄이 입력될 것입니다

    두 번째, 명세서가 두 개 이상인 경우 하나가 필요합니다. BEGIN END

    으아악

    회신하다
    0
  • 취소회신하다