sql >> Databasteknik >  >> RDS >> Oracle

Infoga en sträng med dubbla citattecken i en tabell

Ett dubbelt citattecken används för att beteckna en citerad identifierare , det vill säga ett objektnamn som inte enbart består av alfanumeriska tecken, $ och # . För övrigt rekommenderar vi att du inte gör det använda citattecken. Detta är anledningen till ditt ursprungliga ORA-00984-fel. Oracle antar att "tes" är en kolumn, inte en sträng, och du kan inte använda ett kolumnnamn i VALUES-satsen i en INSERT-sats, som förklaras i felmeddelandet .

För att infoga strängen "tes" i en tabell måste du se till att den är citerad korrekt :

Alla tecken kan vara en del av en sträng, så för att infoga ett dubbelcitattecken i en tabell måste du omsluta det inom enkla citattecken.

insert into users (id, name, username) 
values (null, '"tes"', '"hello"');

Här är en SQL-fiol att demonstrera.

Ytterligare en sak att notera. Du uppger att den här frågan genereras automatiskt, vilket betyder att du kan vara sårbara för SQL-injektion. Jag skulle starkt rekommendera att läsa om bindningsvariabler i Guarding Against SQL-injektion .



  1. Välj ett inlägg som inte har en viss tagg

  2. Distribuera MySQL, MariaDB, Percona Server, MongoDB eller PostgreSQL - enkelt med ClusterControl

  3. MYSQL Väljer du EXAKT ord med MATCH-frågan?

  4. Hur man får återställningsmodellen för en databas i SQL Server med T-SQL