【问题标题】:INSERT query adds row in database but removes last rowINSERT 查询在数据库中添加行但删除最后一行
【发布时间】:2017-04-17 08:39:56
【问题描述】:

我在调试一个不是我编写的系统时遇到了障碍。每次提交 INSERT 查询时,在对表进行排序后,总是删除最后一行(即在 A B D E F 的表上插入 C,结果为 A B C D E)。如果 INSERT 在最后一行完成(即在 A B C D E F 的表上插入 G,结果为 A B C D E G),它将替换最后一行。

知道我应该去哪里研究吗?在 Eclipse 上调试。

【问题讨论】:

  • 你能发布你的代码吗?
  • 桌子上有触发器吗?
  • 问题是代码已经太大了,我发现无法看到问题出在哪里发布我需要显示的代码。我相信也没有触发器。
  • @user7843556 无需猜测:您可以在数据库本身上进行检查。 How to list SQL server triggers on table
  • 用于最佳答案,找不到任何结果/触发器。

标签: java sql sql-server


【解决方案1】:

没有代码很难回答。我看到的只是行为。

你想知道什么?如何调试?

只要找到所有与数据库通信的部分。然后看它的sql语句。

另外 sql 语句通常会返回一个值。例如更新会返回多少受影响的行,插入会返回新的 id。您可以查看这些值以获取线索。您还应该在调试模式下使用断点。

【讨论】:

  • 没关系。我已经发现系统给了我一个错误的 sql 查询。谢谢。
【解决方案2】:
Insert Into TableA ('CC') Values ('X');

Declare @XX char(5);

Select Top 1 @XX = CC From TableA order by CC desc;

Delete from TableA Where CC = @XX;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多