sql >> Database >  >> RDS >> PostgreSQL

PostgreSQL FOUT:INSERT heeft meer doelkolommen dan expressies, als dat niet het geval is

Verwijder de extra () :

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')
  ;

de (..., ...) in Postgres is de syntaxis voor een tuple letterlijke; De extra set van ( ) zou een tupel van tupels creëren, wat geen zin heeft.

Ook:voor numerieke literals wil je de aanhalingstekens niet:

(1013, 6, 30, 1, NOW(), 0, 0, 22.43)
, ...

, ervan uitgaande dat al deze typen numeriek zijn.



  1. SQL te lang voor String

  2. De huidige aanmeldings-ID ophalen in SQL Server (T-SQL)

  3. Hoe controleer ik de privileges (DDL,DML,DCL) op objecten die zijn toegewezen aan Schema, Rollen in Oracle Database?

  4. Lokale MySQL-variabelen