Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何解决SQL Server中插入的错误?_Sql_Sql Server_Sql Insert - Fatal编程技术网

如何解决SQL Server中插入的错误?

如何解决SQL Server中插入的错误?,sql,sql-server,sql-insert,Sql,Sql Server,Sql Insert,我的问题是: INSERT INTO aa_Tanks_Ponds ([User_Name], [Type], Site_Name, Species, Year_Class, Tank_Pond,

我的问题是:

INSERT INTO aa_Tanks_Ponds ([User_Name],
                            [Type],
                            Site_Name,
                            Species,
                            Year_Class,
                            Tank_Pond,
                            Letter,
                            [Name],
                            Tank_Pond_uID,
                            Start_Inventory_#,
                            Start_Inventory_lbs,
                            Start_Inventory_avg,
                            Stocking_#,
                            Stocking_lbs,
                            Stocking_from,
                            Stocking_Total_#,
                            Stocking_Total_lbs,
                            Sales_#,
                            Sales_lbs,
                            Sales_Total_#,
                            Sales_Total_lbs,
                            Mortality_#,
                            Mortality_lbs,
                            Transfers_#,
                            Transfers_lbs,
                            Transfers_To,
                            Transfer_Total_#,
                            Transfer_Total_lbs,
                            Plus_Min_#,
                            Plus_Min_lbs,
                            Plus_Min_Total_#,
                            Plus_Min_Total_lbs,
                            Feed_lbs_Tanks_Ponds,
                            Feed_growth_feed,
                            Feed_growth_FCR,
                            Feed_growth_gain,
                            Final_Inventory_#,
                            Final_Inventory_lbs,
                            Final_Inventory_avg,
                            bg_color,
                            tx_color,
                            sort_order,
                            FeedValue)
VALUES ('Chase Ayers','Chase Ayers','Chase Ayers','Chase Ayers','Chase Ayers','Chase Ayers'),
       (NULL,NULL,NULL,NULL,NULL,NULL),
       ('Dry Creek','Dry Creek','Dry Creek','Dry Creek','Dry Creek','Dry Creek'),
       ('Sturgeon','Sturgeon','Sturgeon','Sturgeon','Sturgeon','Sturgeon'),
       ('14C','14C','14C','14C','14C','14C'),
       ('Tank','Tank','Tank','Tank','Tank','Tank'),
       ('H','H','H','H','H','H'),
       ('H1','H2','H3','H4','H5','H6'),
       ('DCH1','DCH2','DCH3','DCH4','DCH5','DCH6'),
       (2985,2995,2678,2947,3175,3040),
       (30144,27560,27161,27956,32600,33221),
       (10.1,9.2,10.14,9.49,10.27,10.93),
       (0,0,0,0,0,0),
       (0,0,0,0,0,0),
       (' ',' ',' ',' ',' ',' '),
       (0,0,0,0,0,0),
       (0,0,0,0,0,0),
       (0,0,0,0,0,0),
       (0,0,0,0,0,0),
       (0,0,0,0,0,0),
       (0,0,0,0,0,0),
       (0,0,0,0,0,0),
       (0,0,0,0,0,0),
       (0,0,0,0,0,0),
       (0,0,0,0,0,0),
       (' ',' ',' ',' ',' ',' '),
       (0,0,0,0,0,0),
       (0,0,0,0,0,0),
       (0,0,0,0,0,0),
       (0,0,0,0,0,0),
       (0,0,0,0,0,0),
       (0,0,0,0,0,0),
       (0,0,0,0,0,0),
       (0,0,0,0,0,0),
       (2,2,2,2,2,2),
       (0,0,0,0,0,0),
       (2985,2995,2678,2947,3175,3040),
       (30144,27560,27161,27956,32600,33221),
       (10.1,9.2,10.14,9.49,10.27,10.93),
       ('FFFF00','99CC33','3399CC','FF66CC','FFFF00','FFFF00'),
       ('996600','CCFF66','660099','CCCCCC','900000','FFCC99'),
       (0,0,0,0,0,0),
       (NULL,NULL,NULL,NULL,NULL,NULL);
我已经多次查看它,试图找出它显示错误的原因:

INSERT语句中的列多于指定的值 在VALUES子句中。values子句中的值数必须为 匹配INSERT语句中指定的列数

对我来说,这个错误是说我在INSERT子句中有43条语句,而在VALUES子句中没有43条语句。然而,每次我检查都有一个匹配


除了手动浏览数据之外,还有没有更简单的方法来排除此类数据的故障?

我想您希望每组数据都是一列值。那是一排。该组中的每个项目都是一列

您需要一次插入一行

VALUES(User_Name
,Type
,Site_Name
,Species
,Year_Class
,Tank_Pond
,Letter
,NAME
,Tank_Pond_uID
,...etc)
,
(User_Name
,Type
,Site_Name
,Species
,Year_Class
,Tank_Pond
,Letter
,NAME
,Tank_Pond_uID
,...etc)

这是有意义的,因为数据在数据库中存储为行。它们不是以列的形式存储的,因此基本上每个操作都是基于行的操作。

我想您希望每组都是一列值。那是一排。该组中的每个项目都是一列

您需要一次插入一行

VALUES(User_Name
,Type
,Site_Name
,Species
,Year_Class
,Tank_Pond
,Letter
,NAME
,Tank_Pond_uID
,...etc)
,
(User_Name
,Type
,Site_Name
,Species
,Year_Class
,Tank_Pond
,Letter
,NAME
,Tank_Pond_uID
,...etc)
这是有意义的,因为数据在数据库中存储为行。它们不存储为列,因此基本上每个操作都是基于行的操作

在SQLServerManagementStudio中,可以使用内置的错误列表窗格轻松地跟踪错误。此窗格可以在“视图”菜单中激活,也可以使用快捷键Ctrl+\和Ctrl+E激活

阅读更多

在SQLServerManagementStudio中,可以使用内置的错误列表窗格轻松地跟踪错误。此窗格可以在“视图”菜单中激活,也可以使用快捷键Ctrl+\和Ctrl+E激活


多读.< /p> ,因为它更易于阅读,您可以考虑将导入的数据放入CSV,然后将其导入SQL,而不必以当前格式写出该数据。确保一切都按你所希望的方式安排会更容易。这里是CSV导入的操作方法,假设您使用的是SQLServer管理工作室:

,因为它更易于阅读,您可以考虑将导入的数据放入CSV,然后将其导入SQL,而不必以当前格式写出该数据。确保一切都按你所希望的方式安排会更容易。以下是CSV导入的操作方法,假设您使用的是SQL Server Management Studio:

值后括号中的内容是要插入的内容。因此,目前您正在尝试将6批Chase Ayer插入43行。插入的第一行是这一行,然后只需调整其余5行即可插入-请注意,所有要插入的值都在1组括号内:

INSERT INTO aa_Tanks_Ponds ([User_Name],[Type],Site_Name,Species,Year_Class,Tank_Pond,Letter,[Name],Tank_Pond_uID,Start_Inventory_#,Start_Inventory_lbs,Start_Inventory_avg,Stocking_#,Stocking_lbs,Stocking_from,Stocking_Total_#,Stocking_Total_lbs,Sales_#,Sales_lbs,Sales_Total_#,Sales_Total_lbs,Mortality_#,Mortality_lbs,Transfers_#,Transfers_lbs,Transfers_To,Transfer_Total_#,Transfer_Total_lbs,Plus_Min_#,Plus_Min_lbs,Plus_Min_Total_#,Plus_Min_Total_lbs,Feed_lbs_Tanks_Ponds,Feed_growth_feed,Feed_growth_FCR,Feed_growth_gain,Final_Inventory_#,Final_Inventory_lbs,Final_Inventory_avg,bg_color,tx_color,sort_order,FeedValue)
VALUES ('Chase Ayers',NULL,'Dry Creek','Sturgeon','14C','Tank','H','H1','DCH1',2985,30144,10.1,0,0,' ',0,0,0,0,0,0,0,0,0,0,' ',0,0,,0,0,0,0,0,0,2,0,2985,30144,10.1,'FFFF00','996600',0,NULL);

值后括号中的内容是要插入的内容。因此,目前您正在尝试将6批Chase Ayer插入43行。插入的第一行是这一行,然后只需调整其余5行即可插入-请注意,所有要插入的值都在1组括号内:

INSERT INTO aa_Tanks_Ponds ([User_Name],[Type],Site_Name,Species,Year_Class,Tank_Pond,Letter,[Name],Tank_Pond_uID,Start_Inventory_#,Start_Inventory_lbs,Start_Inventory_avg,Stocking_#,Stocking_lbs,Stocking_from,Stocking_Total_#,Stocking_Total_lbs,Sales_#,Sales_lbs,Sales_Total_#,Sales_Total_lbs,Mortality_#,Mortality_lbs,Transfers_#,Transfers_lbs,Transfers_To,Transfer_Total_#,Transfer_Total_lbs,Plus_Min_#,Plus_Min_lbs,Plus_Min_Total_#,Plus_Min_Total_lbs,Feed_lbs_Tanks_Ponds,Feed_growth_feed,Feed_growth_FCR,Feed_growth_gain,Final_Inventory_#,Final_Inventory_lbs,Final_Inventory_avg,bg_color,tx_color,sort_order,FeedValue)
VALUES ('Chase Ayers',NULL,'Dry Creek','Sturgeon','14C','Tank','H','H1','DCH1',2985,30144,10.1,0,0,' ',0,0,0,0,0,0,0,0,0,0,' ',0,0,,0,0,0,0,0,0,2,0,2985,30144,10.1,'FFFF00','996600',0,NULL);

我没有费心计算所有的值,但是NULL,NULL,NULL,NULL,NULL,NULL的值肯定比您提到的列少。您试图插入42列,但所有的值只有大约7项。您的表值构造函数在几乎每一行上都有不同数量的值。它们都没有insert语句中的列那么多。然后,到处都有不匹配的数据类型。错误是插入的每一行应该有43列。您的表有43列,数据似乎已被转换。所有数据都是透视的,因此您试图将每一行垂直插入到一列中。您需要对数据进行透视,这样每列43个逗号分隔的参数的每个值行中都有1个数据点,总共有6个圆括号。我没有费心计算所有这些参数,而是NULL,NULL,NULL,NULL,NULL的值肯定比您提到的列少。您试图插入42列,但所有值只有大约7项。表值构造函数几乎每行都有不同数量的值。它们都没有insert语句中的列那么多。然后,到处都有不匹配的数据类型。错误是插入的每一行应该有43列。您的表有43列,数据似乎已被转换。所有数据都是透视的,因此您试图将每一行垂直插入到一列中。您需要透视数据,以便在每列的每个值行中有1个数据点43个逗号分隔的参数,6个完整的圆括号从长远来看会有很大帮助谢谢!很好,从长远来看,这会有很大帮助,谢谢!即使表是列存储,语法仍然是基于行的。这不是c
在存储的顺序上,它只是语法…即使表是列存储,语法仍然是基于行的。这不是存储的结果,只是语法……这并没有证明插入到表x、y、z中的值11、12、13、21、22、23、31、32、33对于插入三行非常有效。它只是暗示了这一点……这并没有证明插入到表x,y,z中的值11,12,13,21,22,23,31,32,33对于插入三行非常有效。这只是暗示了。。。