【问题标题】:I want to delete multiple rows mysql我想删除多行mysql
【发布时间】:2016-03-08 19:22:29
【问题描述】:

我想删除多行。

这是我正在尝试的:

DELETE * FROM table_name WHERE tid = '3'

但它什么也没做。

编辑:

我想从 tid = 3 的表中删除所有行 我用过

DELETE  FROM table_name WHERE tid = '3'

但它只删除一行。

这里是sqlfiddle

【问题讨论】:

  • 如果您需要编辑问题,请添加EDIT 以表明它(并尽量不要使现有答案无效)。

标签: mysql delete-row


【解决方案1】:

删除*

DELETE FROM table_name 
WHERE tid = '3';

如果tid 不是字符串,则不需要'

DELETE:

DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name
    [PARTITION (partition_name,...)]
    [WHERE where_condition]
    [ORDER BY ...]
    [LIMIT row_count]

编辑:

只删除一条记录

纯猜测空格:

DELETE FROM table_name 
WHERE TRIM(tid) = '3';

编辑 2:

根据提供的SQLFiddle,它应该可以工作。

SqlFiddleDemo

输出:

╔═════╦══════════════╦══════════════════════════════╦═════╗
║ id  ║ productName  ║         description          ║ tid ║
╠═════╬══════════════╬══════════════════════════════╬═════╣
║  3  ║ OpenDJ       ║ Robust LDAP server for Java  ║     ║
╚═════╩══════════════╩══════════════════════════════╩═════╝

【讨论】:

  • 有多条记录 tid='3' 我想删除所有这些记录。在您的查询中,它只删除一条记录
  • @Auj 请准备sqlfiddle.com 与样本数据。如果 tid 是 string,请检查您是否没有尾随/前导空格
  • @Auj SELECT tid, LENGTH(tid) FROM table_name WHERE tid LIKE '%3%'
  • 我添加了一个 sqlfiddle 链接,请检查。
  • @Auj DELETE 语句就是这样工作的。问题是:实际上是'3'' 3''3line_feed' 或类似的东西。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-05-31
  • 1970-01-01
  • 1970-01-01
  • 2018-09-10
  • 1970-01-01
  • 2020-02-05
相关资源
最近更新 更多