데이터베이스 내에 많은 테이블이 있습니다. 이상한 것은 mySQL을 다시 시작한 후에 하나의 테이블이 항상 비워진다는 것입니다. 그것은 TEMP 테이블 인 것처럼 보이지만 나는 그것을 의심합니다. TEMP 테이블인지 또는이 이벤트를 트리거하는 다른 것이 있는지 확인할 수 있습니다.mySQL 서버를 다시 시작한 후 테이블이 비어 있습니다.
트리거에 대해 말하면, 값을 업데이트하는 다른 테이블 내에서 트리거가 발생하지만 이것이 원인이라고 생각하지 않습니다.
는 [편집]
내 트리거 쿼리는
BEGIN
IF NEW.Discount <> OLD.Discount || NEW.Price <> OLD.Price || NEW.FirstYearDiscount <> OLD.FirstYearDiscount
THEN
INSERT INTO InvoiceTotal SET
PriceExcl = (SELECT
SUM((Price - (Price * (IF(Discount > FirstYearDiscount || Discount < 0, Discount, FirstYearDiscount)/100))) * InvoicePeriod)
FROM InvoiceItem WHERE InvoiceID = NEW.InvoiceID),
InvoiceID = NEW.InvoiceID
ON DUPLICATE KEY UPDATE
PriceExcl = (SELECT
SUM((Price - (Price * (IF(Discount > FirstYearDiscount || Discount < 0, Discount, FirstYearDiscount)/100))) * InvoicePeriod)
FROM InvoiceItem WHERE InvoiceID = NEW.InvoiceID);
END IF;
END
이 트리거 줘야 업데이트 값을 변경하는 경우입니다.
주문을 할 때 새로운 값을 삽입하는 cronjob도 있습니다.
내 첫 번째 추측은 트랜잭션에서 데이터를로드하고 트랜잭션을 커밋하지 않는 것입니다. –
다른 테이블과 마찬가지로 테이블에 데이터를 삽입합니다. 내 테이블 안에 다른 테이블처럼이 테이블을 만들었습니다. –
"SQL 재설정"은 어떻게하나요? 그게 무슨 뜻 이죠? MySQL 서버를 다시 시작한다는 의미입니까? 아니면 데이터베이스 연결을 끊고 연결하고 있습니까? 어떤 종류의 SQL 문을 실행하고 있습니까? – spencer7593