0

我有一个客户正在描述从 Web 表单添加新数据时发生的事件。如果提交的数据与任何现有数据库条目匹配,系统将删除现有条目。

我检查了脚本,没有看到会影响相关表的 DELETE 查询。有 UPDATE 查询,它们都不影响数据库中指示删除或标记为已删除的字段。

如果不执行 DELETE 查询,是否会丢失数据?

根据要求,这是“创建表”语句:

CREATE TABLE `msp_zip_codes` 
(
     `zip_code` varchar(5) DEFAULT NULL,
     `city` varchar(35) DEFAULT NULL,
     `state_prefix` varchar(2) DEFAULT NULL,
     `county` varchar(45) DEFAULT NULL,
     `area_code` varchar(45) DEFAULT NULL,
     `CityType` varchar(1) DEFAULT NULL,
     `CityAliasAbbreviation` varchar(13) DEFAULT NULL,
     `CityAliasName` varchar(35) DEFAULT NULL,
     `lat` decimal(18,6) DEFAULT NULL,
     `lon` decimal(18,6) DEFAULT NULL,
     `time_zone` varchar(7) DEFAULT NULL,
     `Elevation` int(10) DEFAULT NULL,
     `CountyFIPS` varchar(5) DEFAULT NULL,
     `DayLightSaving` varchar(1) DEFAULT NULL,
     `PreferredLastLineKey` varchar(25) DEFAULT NULL,
     `ClassificationCode` varchar(2) DEFAULT NULL,
     `MultiCounty` varchar(1) DEFAULT NULL,
     `StateFIPS` varchar(2) DEFAULT NULL,
     `CityStateKey` varchar(6) DEFAULT NULL,
     `CityAliasCode` varchar(5) DEFAULT NULL,
     `PrimaryRecord` varchar(50) DEFAULT NULL,
     `CityMixedCase` varchar(50) DEFAULT NULL,
     `CityAliasMixedCase` varchar(50) DEFAULT NULL,
     KEY `AreaCode` (`area_code`),
     KEY `CityAliasCode` (`CityAliasCode`),
     KEY `CityStateKey` (`CityStateKey`),
     KEY `ClassificationCode` (`ClassificationCode`),
     KEY `PreferredLastLineKey` (`PreferredLastLineKey`),
     KEY `ZipCode` (`zip_code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
4

1 回答 1

3

其中一种可能性是该表有一个UPDATE TRIGGER集合,每次有更新时都会触发。或者另一个,Event Scheduler服务器上正在运行。

显示数据库上所有触发器的代码:

SELECT * 
FROM   INFORMATION_SCHEMA.TRIGGERS a
WHERE  a.TRIGGER_SCHEMA LIKE CONCAT('%', 'databaseNameHERE', '%')

显示数据库上所有事件的代码:

SHOW EVENTS FROM databaseNameHERE;
于 2013-02-02T01:13:59.793 回答