In Oracle, strings are enclosed into single quotes:
INSERT INTO customers (customer_id, customer_name, city)
VALUES
(1, 'name-1', 'city-1');
You enclosed them into double quotes; to Oracle, it means that you actually specified column names.
Generally speaking, when working with Oracle you should omit double quotes (with identifiers) and avoid mixed letter case. You can create table e.g.
SQL> create table "Test" (ID number, "LastName" varchar2(20));
Table created.
but then you have to use double quotes and match letter case every time you access such a table:
SQL> insert into test (id, lastname) values (1, 'Littlefoot');
insert into test (id, lastname) values (1, 'Littlefoot')
*
ERROR at line 1:
ORA-00942: table or view does not exist
SQL> insert into "Test" (id, "LastName") values (1, 'Littlefoot');
1 row created.
SQL>
If you created it as
SQL> create table test (id number, LASTnAme varchar2(20));
Table created.
then you can write identifiers any way you want:
SQL> insert into teST (id, lasTNamE) values (1, 'Littlefoot');
1 row created.
SQL>