ORA-00913: too many values
。。。。(后面的具体的就不写了)
第一次碰到这样的情况,上网一查才知道:原来sql语句写错了:具体就不说了,主要是一个INSERT语句:结果
VALUES后面的插入的数据比前面的字段名多了一个,所以才出现了所谓的“too many values”错误。
Error:
ORA-00913: too many valuesCause:
You tried to execute an SQL statement that required two sets of equal values, but you entered more items in the second set than was in the first set.Action:
The options to resolve this Oracle error are:- This error often occurs when you are performing anINSERT statementand enter more values in the VALUES clause than the number of columns that you listed.
For example, if you executed the following INSERT statement:
INSERT INTO suppliers
(supplier_id, supplier_name)
VALUES
(1000, 'Microsoft', 'Bill Gates');In this example, you've chosen to insert values into 2 columns (supplier_id and supplier_name), but you've entered 3 values (1000, Microsoft, and Bill Gates).
You need to modify your INSERT statement so there are the same number of columns as there are values. For example:
INSERT INTO suppliers
(supplier_id, supplier_name)
VALUES
(1000, 'Microsoft');
- This error can also occur when your subquery in the WHERE clause returns too many columns.
For example, if you executed the following SQL statement:
SELECT * FROM suppliers WHERE supplier_id > 5000 AND supplier_id IN (SELECT * FROM products WHERE product_name LIKE 'H%); In this example, the subquery returns all columns from the products table. You need to modify the subquery to return only one column as follows:
SELECT * FROM suppliers WHERE supplier_id > 5000 AND supplier_id IN (SELECT product_id FROM products WHERE product_name LIKE 'H%);
本文详细解释了Oracle SQL错误ORA-00913:too many values的原因及解决方案。常见原因是INSERT语句中VALUES后的插入数据数量超过字段数量,或子查询返回的列数过多。通过修改语句确保值的数量与字段数量相匹配即可解决问题。
2830

被折叠的 条评论
为什么被折叠?



