sql >> Database >  >> RDS >> Oracle

Een string met dubbele aanhalingstekens in een tabel invoegen

Een dubbel aanhalingsteken wordt gebruikt om een ​​geciteerde identifier , d.w.z. een objectnaam die niet alleen uit alfanumerieke tekens bestaat, $ en # . Even terzijde, het wordt aanbevolen dat u niet . doet gebruik identifiers tussen aanhalingstekens. Dit is de reden voor uw oorspronkelijke ORA-00984-fout. Oracle gaat ervan uit dat "tes" is een kolom, geen tekenreeks, en u kunt geen kolomnaam gebruiken in de VALUES-clausule van een INSERT-instructie, zoals uitgelegd in de foutmelding .

Om de string . in te voegen "tes" in een tabel zet, moet u ervoor zorgen dat deze geciteerd is correct :

Elk teken kan deel uitmaken van een tekenreeks, dus om een ​​dubbel aanhalingsteken in een tabel in te voegen, moet u het tussen enkele aanhalingstekens plaatsen.

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

Hier is een SQL Fiddle demonstreren.

Een extra ding om op te merken. U geeft aan dat deze zoekopdracht automatisch wordt gegenereerd, wat betekent dat u mag kwetsbaar zijn voor SQL-injectie. Ik zou het ten zeerste aanbevelen om over bindvariabelen te lezen in Guarding Against SQL-injectie .



  1. MySQL-database maken met .SQL-bestand

  2. Toegang tot een externe mysql db in trigger

  3. Wat betekent regclass in Postgresql

  4. lange polling-info van mysql werkt niet