Table 重启后为空 mySQL 服务器
Table empty after restarting mySQL Server
我在数据库中得到了很多 table。
奇怪的是,一个table重启后总是清空mySQL。
好像是 TEMP table 但我对此表示怀疑。
我在哪里可以看到它是 TEMP table 还是触发此事件的其他原因。
谈到触发器,我在另一个 table 中确实有一个触发器可以更新值,但我认为这不是它的原因。
[编辑]
我的触发器查询是
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,它在下订单时插入新值。
我对每个 Table 进行了一些挖掘,单击 Operations
(与顶部的选项卡混合在一起),并注意到一个名为 Storage Engine
的 属性 .它最初设置为 Memory,这对我来说似乎不太合适。所以我检查了我的其他数据库,发现它们都设置为 MyISAM。因此,我将遇到问题的数据库中的表更改为 MyISAM 并重新启动我的服务器以测试检查它们。数据正在保存,没有任何问题!
希望对遇到同样问题的其他人有所帮助(Y)
PS。谢谢大家的回复
我在数据库中得到了很多 table。 奇怪的是,一个table重启后总是清空mySQL。 好像是 TEMP table 但我对此表示怀疑。 我在哪里可以看到它是 TEMP table 还是触发此事件的其他原因。
谈到触发器,我在另一个 table 中确实有一个触发器可以更新值,但我认为这不是它的原因。
[编辑]
我的触发器查询是
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,它在下订单时插入新值。
我对每个 Table 进行了一些挖掘,单击 Operations
(与顶部的选项卡混合在一起),并注意到一个名为 Storage Engine
的 属性 .它最初设置为 Memory,这对我来说似乎不太合适。所以我检查了我的其他数据库,发现它们都设置为 MyISAM。因此,我将遇到问题的数据库中的表更改为 MyISAM 并重新启动我的服务器以测试检查它们。数据正在保存,没有任何问题!
希望对遇到同样问题的其他人有所帮助(Y)
PS。谢谢大家的回复