【发布时间】:2018-03-14 16:36:22
【问题描述】:
这是我的查询:
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 个语句。然而,每次我检查都有一个匹配项。
除了手动遍历数据之外,还有更简单的方法来解决此类数据问题吗?
【问题讨论】:
-
我没有费心计算所有这些,但
(NULL,NULL,NULL,NULL,NULL,NULL)的值肯定比你提到的列少。 -
您尝试插入 42 列,但您的所有 VALUES 仅包含大约 7 项。
-
您的表值构造函数几乎每一行都有不同数量的值。而且它们都没有插入语句中的列那么多。然后你的数据类型也到处都是不匹配的。
-
错误是插入的每一行行应该有43列。您似乎已经转置了数据。
-
您的表格有 43 列。您的所有数据都是旋转的,因此您尝试将每一行插入单个列(垂直)。您需要旋转数据,以便在每列的每个 VALUES 行中有 1 个数据点(43 个逗号分隔参数,总共 6 个括号)
标签: sql sql-server sql-insert