Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Mengganti tanda kutip ganda yang lolos dengan tanda kutip ganda di R

Saya melihat dua masalah dengan apa yang Anda sertakan dalam Pertanyaan Anda. Yang pertama sepertinya salah ketik. Setelah:

html <- "<div style='text-align: center; font-family: Arial;'><span style='font-size: 14pt;'>Some text without any tricky symbols.</span></div>"   

Anda memiliki:

query <- c('INSERT INTO table (htmlfield) VALUES (\"', html, '"')
                                                  ^^^^^^^^^^^^^^^

Perhatikan Anda lolos dari satu string tetapi tidak yang lain. Anda tidak perlu melarikan diri dari mereka, tetapi tidak masalah jika Anda melakukannya. Anda juga bermaksud '")' untuk string terakhir yang, saya duga, adalah sumber sebenarnya dari kesalahan yang Anda dapatkan. paste daripada c lebih berguna di sini. Jika saya menggabungkan ini, kami mendapatkan:

query <- paste('INSERT INTO table (htmlfield) VALUES ("', html, '")', sep = "")

yang dapat kita gunakan secara langsung:

dbSendQuery(con, query)

Masalah kedua, dan salah satu yang dibuat banyak orang, adalah mengacaukan representasi tercetak dari suatu objek dengan objek itu sendiri. Jika kita mencetak query , kita melihat ini:

> query
[1] "INSERT INTO table (htmlfield) VALUES (\"<div style='text-align: center; font-family: Arial;'><span style='font-size: 14pt;'>Some text without any tricky symbols.</span></div>\")"

Representasi tercetak dari string selalu diapit "" tanda kutip ganda, dan dengan demikian " internal internal perlu melarikan diri. Apa yang ingin Anda lihat adalah string yang sebenarnya. Kita bisa melakukannya dengan cat atau writeLines - Saya lebih suka yang terakhir karena menambahkan "\n" ke akhir string secara otomatis:

> writeLines(query)
INSERT INTO table (htmlfield) VALUES ("<div style='text-align: center; font-family: Arial;'><span style='font-size: 14pt;'>Some text without any tricky symbols.</span></div>")

Perhatikan bagaimana " sekarang tidak lolos. Itu adalah SQL yang akan dieksekusi oleh server database. Jika itu adalah SQL yang valid untuk DB Anda, maka itu akan berhasil.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mysql:Memilih nilai di antara dua kolom

  2. Bagaimana cara menambahkan lebih banyak anggota ke kolom tipe ENUM saya di MySQL?

  3. Memperbarui Kotak Centang yang Sudah Dicentang di PHP

  4. Gabungkan beberapa baris dalam satu baris di MySQL

  5. Perbedaan MySQL JOIN vs LEFT JOIN