PostgreSQL报错:INSERT目标列数多于表达式数,求解决方案
解决PostgreSQL报错:ERROR: INSERT has more target columns than expressions
问题排查
你声明要插入的目标列共5个:cus_id, cust_name, age, city, salary,但VALUES子句里的每一行都只提供了4个值,缺少了age字段对应的表达式,列数和值的数量不匹配,这就是报错的直接原因。
修正方案
给每一行补上age字段的值即可。如果age字段允许为空,也可以用NULL填充。以下是补全示例(假设各用户年龄分别为30、25、28、32):
INSERT INTO customer_data (cus_id, cust_name, age, city, salary) VALUES (1, 'Sam', 30, 'Delhi',9000), (2, 'ROhit', 25, 'Banglore', 5000), (3, 'Rahul', 28, 'Mumbai', 12000), (4, 'Sunny', 32, 'Odisha',15000);
如果age字段允许为空,也可以这样写:
INSERT INTO customer_data (cus_id, cust_name, age, city, salary) VALUES (1, 'Sam', NULL, 'Delhi',9000), (2, 'ROhit', NULL, 'Banglore', 5000), (3, 'Rahul', NULL, 'Mumbai', 12000), (4, 'Sunny', NULL, 'Odisha',15000);
内容的提问来源于stack exchange,提问作者atulpratik
相关产品推荐
相关产品推荐

