我有一個簡單的數據庫名爲客戶與單個表data.I想檢查是否客戶名稱退出數據庫中,如果然後我想刪除它。我使用MYSQL連接器爲此。如何檢查表中是否存在值,如果存在則刪除它?
EDIT:
I want to make sure the value is present before deleting to display
a simple user message.
我有一個簡單的數據庫名爲客戶與單個表data.I想檢查是否客戶名稱退出數據庫中,如果然後我想刪除它。我使用MYSQL連接器爲此。如何檢查表中是否存在值,如果存在則刪除它?
EDIT:
I want to make sure the value is present before deleting to display
a simple user message.
爲什麼不直接刪除它?
DELETE FROM customers WHERE customer_name = 'John Smith';
如果存在,它將被刪除。否則,不會有行受到影響。
編輯:
如果你需要一個更復雜的過程,那麼我建議(按順序):
ON DELETE FOR EACH ROW
觸發,一旦缺失將會自動更新標誌;START TRANSACTION;
UPDATE flag_table SET is_deleted = 1 WHERE customer_name = 'John Smith';
DELETE FROM customers WHERE customer_name = 'John Smith';
COMMIT;
這將是比較容易回答,如果你能提供你的設計的更多細節。
你可以爲此使用觸發器,如果在插入時發現任何重複,mysql將刪除。
您是否嘗試刪除存在的客戶和不存在的客戶並查看會發生什麼? – npinti 2012-04-11 07:34:11
這有點令人困惑。你想要一個MySQL的查詢,將做到這一點?你是否將數據轉換爲數據表或類似的數據,並且想要對其執行操作?請擴大。 – Dementic 2012-04-11 07:34:29
你不必檢查你想刪除的數據的存在,只要將它刪除'where = your condition' – 2012-04-11 07:35:41