【问题标题】:SQL command is doubling upSQL命令加倍
【发布时间】:2014-02-19 07:44:51
【问题描述】:

在一个项目中,我做了一个表格,但是当我去做时:SELECT * FROM TableName 我得到了 101、102、103、104、105、101、102、103、104、105。我只想要它执行 101 - 105。

Create TABLE Cust (Customer_Number CHAR(3), address VARCHAR(20), balance SMALLMONEY

INSERT INTO Cust (Customer_number, balance, address)
    VALUES (101, 200, null), (102, 700, null), (103, 1000, null), (104, 1500, null), (105, 2000, null)

SELECT *
FROM Cust

这就是我所拥有的,正如我所说,我不断获得 10 个插槽而不是 5 个。不知道我做错了什么,每次我执行 SELECT * FROM () 命令时,我总是让它加倍或加倍?任何帮助都会有所帮助,也非常感谢。

【问题讨论】:

  • 尝试转到sqlfiddle.com 并在那里创建您的示例,看看是否会发生同样的情况。如果是这样-那么您可以在此处发布一个链接,我们可以查看它,如果不是-那么您已经消除了您的 sql 作为您“加倍”的原因,并且它可能是某些代码中的其他内容sql服务器。还要检查你的桌子上没有任何触发器
  • 您的代码没有问题。也许您在创建表后多次运行 INSERT 语句?
  • 参考这个小提琴 - [sqlfiddle.com/#!2/3d8c26/1][1] 。我认为插入完成了两次。为了避免这种情况,最好在表上有主键。

标签: sql sql-server


【解决方案1】:

您已多次在表格上插入。首先清空所有数据,然后执行 INSERT

TRUNCATE TABLE Cust 

【讨论】:

  • 谢谢,我正在执行 INSERT INTO Execute,然后 SELECT FROM Execute
【解决方案2】:

它工作正常。看这里

SQl fiddle

【讨论】:

    【解决方案3】:

    有时我们很着急,结果在不知不觉中做错了事。所以请使用

    Truncate Table Table_name
    

    截断表格,然后重新插入行。还要记住,char 和 varchar 数据需要在单引号内。

    【讨论】:

      猜你喜欢
      • 2012-02-18
      • 2013-08-28
      • 2020-07-25
      • 1970-01-01
      • 2022-01-22
      • 1970-01-01
      • 2014-09-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多