我有一个简单的数据库名为客户与单个表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