2013-02-02 63 views
0

我有一個客戶端在從Web表單添加新數據時描述了一個事件。如果提交的數據與任何現有數據庫條目匹配,則系統刪除現有條目。MySQL刪除沒有查詢的數據?

我檢查了腳本,並沒有看到會影響相關表的DELETE查詢。有UPDATE查詢,其中沒有一個會影響數據庫中指示刪除或標記爲已刪除的字段。

在沒有執行DELETE查詢的情況下,數據可能會丟失嗎?

至於問,這裏的「CREATE TABLE」語句:

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 
+0

什麼編程語言或框架(或多個)您使用的? –

+1

如果您可以發佈查詢,我們可以檢查。或者,您的表格中可能會有觸發器。 – sgeddes

+0

cakePHP - 雖然有很多疑問,但我可以選擇性地發佈它們。 – Robbie

回答

3

可能性之一是,該表有一個UPDATE TRIGGER一套觸發間隔有一個更新時間。或者另一個,在服務器上運行Event Scheduler

代碼顯示在數據庫中的所有觸發器:

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

代碼顯示在數據庫中的所有事件:

SHOW EVENTS FROM databaseNameHERE; 
+0

感謝您的這兩個查詢。每個結果都是空白的。 – Robbie

+0

@Robbie:'datatbaseName'應該**不是**'msp_zip_codes' –

+0

@ypercube我在查詢中使用了正確的DB名稱,但是感謝您的檢查。 – Robbie