【问题标题】:how to delete a single value from mysql table如何从mysql表中删除单个值
【发布时间】:2014-05-29 09:48:29
【问题描述】:

我在表中有以下数据

name        price
red wine    150
white wine  300

我想删除值 300

我使用了以下查询

update cms.wine set price =null where name='white wine'

它给了我以下错误

您正在使用安全更新模式,并且您尝试在没有更新的情况下更新表 使用 KEY 列的 WHERE 要禁用安全模式,请切换 Preferences -> SQL Queries and reconnect 中的选项。

【问题讨论】:

  • 可以在不切换安全模式的情况下执行此查询
  • @John Woo 他想更新特定行中的值,而不是删除整行。
  • 在这种情况下你必须根据 id 删除
  • 你应该添加一个主键列

标签: c# mysql winforms


【解决方案1】:

使用它:

DELETE FROM cms.wine WHERE price = '300' LIMIT 1

【讨论】:

  • ya 还有 1 个问题,我如何避免在选择查询中检索空值,例如我想检索一列并且该列中的某些字段为空。无论如何我可以防止那些空值被bieng retrived
  • 阅读 OP 帖子。他说要删除'300'的记录
  • Op 说他想删除值而不是行
【解决方案2】:

这样做:

SET SQL_SAFE_UPDATES=0;

然后:

update cms.wine set price =null where name='white wine;'

但是你应该在 id 列的基础上做,因为它会删除所有名称等于 white wine

的记录

像这样:

update cms.wine set price =null where id=1;

在此它只会删除主键值为 1 的特定记录。

您应该在表中添加一个主键列,以便您的表看起来像这样,并使该列成为主键,以便它对于每条记录始终是唯一的:

id      name          price
1       red wine      150
2       white wine    300

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-07
    • 1970-01-01
    • 2014-03-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多