【发布时间】:2015-02-22 17:02:07
【问题描述】:
所以我从这个开始......
SELECT * FROM parts_finishing;
...我明白了...
id,id_part,id_finish,id_metal,id_description,日期, inside_hours_k,inside_rate,outside_material
(0 行)
...所以到目前为止一切看起来都很好,所以我这样做了...
INSERT INTO parts_finishing
(
id_part, id_finish, id_metal, id_description,
date, inside_hours_k, inside_rate, outside_material
) VALUES (
('1013', '6', '30', '1', NOW(), '0', '0', '22.43'),
('1013', '6', '30', '2', NOW(), '0', '0', '32.45'));
...我得到...
错误:INSERT 的目标列多于表达式
现在我已经做了一些事情,比如确保数字不在引号中,在引号中(希望有一个关于整数、数字类型等的表格指南)之后我显然计算了插入的列名和值的数量。我还尝试确保所有逗号都是逗号......在这里真的很茫然。除了id 即bigserial primary key 之外,没有其他列。
【问题讨论】:
-
值列表周围有一组额外的
()。就这样。顺便说一句:引用的值都引用 (var)char 列? -
@wildplasser PHP 的转义 (
mysqli_real_escape_string) 无法防止使用引号破坏 SQL 命令格式的注入攻击,因此切勿在 SQL 语句中使用非引号值!
标签: postgresql