sql >> Database >  >> RDS >> Mysql

Invoegen in MySQL vanuit R

Overweeg de programmeerindustriestandaard voor parametrering voor elke toepassingslaag zoals R waarop SQL wordt uitgevoerd. Met deze aanpak vermijdt u de noodzaak van string-interpolatie of rommelige quote-bijlagen. De DBI-standaard van R heeft verschillende manieren, waaronder sqlInterpolate :

# PREPARED STATEMENT (NO DATA) QMARKS REQUIRED BUT NAMES CAN CHANGE
sql <- "INSERT INTO trade_data (Col1, Col2, Col3, col4) 
        VALUES (?param1, ?param2, ?param3, ?param4)"

ch <- DBI::dbConnect(MySQL())
dbSendQuery(ch, 'set character set "utf8"')
dbSendQuery(ch, 'SET NAMES utf8')

for (i in 1:nrow(test)) {
  # BIND PARAMS
  query <- sqlInterpolate(conn, sql, param1 = "0", param2 = test[i, 1], 
                          param3 = test[i, 2], param4 = test[i, 3])
  # EXECUTE QUERY
  dbSendQuery(ch, query)
}


  1. Hoe kan ik de standaardwaarde van een veld instellen op '0000-00-00 00:00:00'?

  2. Wat is het DC2Type array-gegevenstype in mysql

  3. JPA-toewijzing:QuerySyntaxException:foobar is niet toegewezen...

  4. Wat is de juiste manier om deze gegevens op te slaan in een MySQL-schema?