Et dobbelt anførselstegn bruges til at angive et citeret id , dvs. et objektnavn, der ikke udelukkende består af alfanumeriske tegn, $
og #
. Som en sidebemærkning anbefales det, at du ikke gør det bruge citerede identifikatorer. Dette er årsagen til din oprindelige ORA-00984 fejl. Oracle antager, at "tes"
er en kolonne, ikke en streng, og du kan ikke bruge et kolonnenavn i VALUES-sætningen i en INSERT-sætning, som forklaret i fejlmeddelelsen
.
For at indsætte strengen "tes"
ind i en tabel, du skal sikre dig, at den er citeret korrekt
:
Ethvert tegn kan være en del af en streng, så for at indsætte et dobbelt anførselstegn i en tabel skal du omslutte det inden for enkelte anførselstegn.
insert into users (id, name, username)
values (null, '"tes"', '"hello"');
Her er en SQL Fiddle at demonstrere.
En yderligere ting at bemærke. Du angiver, at denne forespørgsel genereres automatisk, hvilket betyder, at du må være sårbar over for SQL-injektion. Jeg vil varmt anbefale at læse om bindevariabler i Guarding Against SQL-injektion .