0

我有一个名为 customer 的简单数据库,带有一个表数据。我想检查数据库中是否存在客户名称,如果我想删除它。我正在为此使用 MYSQL 连接器。

EDIT:
I want to make sure the value is present before deleting to display
a simple user message.
4

2 回答 2

6

为什么不直接删除呢?

DELETE FROM customers WHERE customer_name = 'John Smith';

如果存在,它将被删除。否则不会影响任何行。

编辑:

如果您需要更复杂的过程,那么我建议(按顺序):

  1. 创建ON DELETE FOR EACH ROW触发器,将在删除时自动更新标志;
  2. 为此目的开发功能/程序;
  3. 在事务块中执行一组操作,例如:
    START TRANSACTION;
    UPDATE flag_table SET is_deleted = 1 WHERE customer_name = 'John Smith';
    DELETE FROM customers WHERE customer_name = 'John Smith';
    COMMIT;

如果您可以提供有关您的设计的更多详细信息,将更容易回答。

于 2012-04-11T07:34:36.483 回答
0

您可以为此使用触发器,如果​​在插入时发现任何重复,mysql 将删除。

于 2012-04-11T08:00:26.517 回答