【发布时间】:2013-02-02 01:09:56
【问题描述】:
我有一个客户正在描述从 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
【问题讨论】:
-
您使用的是什么编程语言或框架?
-
如果您可以发布查询,我们可以检查。或者,您的表上可能有一个触发器。
-
cakePHP - 有很多查询,不过我可以选择性地发布它们。
-
请发布表创建语句。很有可能这是一个独特的约束。
-
启用二进制日志或通用日志。它将记录服务器执行的所有语句。在那里寻找你的删除。
标签: mysql sql database sql-delete