gpt4 book ai didi

MySQL INSERT INTO 语句生成 "Error Code: 1136. Column count doesn' t 行匹配值计数”

转载 作者:行者123 更新时间:2023-11-29 04:33:06 24 4
gpt4 key购买 nike

我正在尝试从一个旧表创建一个新表,这样我就可以删除一些重复项并实现一个复合主键。我使用 LIKE 从旧表创建了新表,因此列应该相同。

为什么这不起作用?

INSERT INTO PricesNEWtest (Global_MarketCap,pkey)
VALUES ((SELECT max(Global_MarketCap), pkey
FROM Prices GROUP BY pkey));

产生错误:

Error Code: 1136. Column count doesn't match value count at row 1


上面的示例只有两行,因此更清晰,但实际上表格包含 15 列,这是完整的 INSERT INTO 语句,它会生成相同的错误:

INSERT INTO PricesNEWtest (Global_MarketCap,Global_Volume24h,BTC_Dominance,Rank,Name,
Symbol,ChangePerc24h,Price,BTC_Price,MarketCap,Volume24h,DateTime,Date,pkDummy,pkey)
VALUES ((SELECT max(Global_MarketCap), max(Global_Volume24h), max(BTC_Dominance), max(Rank), max(Name),
max(Symbol), max(ChangePerc24h), max(Price), max(BTC_Price), max(MarketCap), max(Volume24h),
max(DateTime), max(Date), max(pkDummy), pkey
FROM Prices GROUP BY pkey));

我为 VALUES 添加了双括号,因为没有它我得到错误代码 1064,但我不完全理解为什么需要双括号。我按 pkey 字段分组(目前有一些我想删除的重复项),这意味着我需要总结其余字段。正如您从屏幕截图中看到的那样,SELECT 语句本身运行良好。

我可以尝试另一种方法吗?或者有没有更简单的方法直接从原始表中删除重复项?
我正在使用 MySQL 5.7.14

如有任何帮助,我们将不胜感激!

最佳答案

您使用 SELECT 语句的 INSERT 语法错误:

INSERT INTO PricesNEWtest (Global_MarketCap, pkey)
SELECT max(Global_MarketCap), pkey
FROM Prices
GROUP BY pkey

关于MySQL INSERT INTO 语句生成 "Error Code: 1136. Column count doesn' t 行匹配值计数”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53839792/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com