Здесь вы совершенно новичок в SQL и SQLite. Я пытаюсь создать функцию в R studio, которая принимает аргумент из командной строки и запрашивает базу данных SQL, чтобы узнать, существует ли запись в одном конкретном столбце, отображая сообщение пользователю о том, найдена запись или нет (у меня есть таблица в этой базе данных, давайте назовем ее my_table, в которой 2 столбца, мы назовем их column_1 и column_2. столбец_1 имеет идентификационные номера, а столбец_2 имеет имена, связанные с этими идентификационными номерами, и в общей сложности около 700 строк).
До сих пор у меня есть что-то, что выглядит так:
my_function() <- function(CL_record) { db <- dbConnect(SQLite(), dbname = "mysql.db") dbGetQuery(db, sql("SELECT * FROM my_table WHERE column_2 == @CL_record")) }
Но это, очевидно, неправильный способ, и я продолжаю получать ошибки, связанные с недопустимой (НУЛЕВОЙ) левой стороной назначения.
Любая помощь здесь была бы очень признательна.
Левая сторона не должна содержать скобок, а постоянные и переменные части кода SQL могут быть склеены вместе, например, что-то вроде:
ID68154661 — Использование
вставки
в SQL-запросах действительно работает, но считается плохой практикой из-за злонамеренной или непреднамеренной sql-инъекции. Гораздо лучше использовать параметризованные запросы.ID68154661 — О. к. спасибо. Но это зависит от того, открыт ли код извне.
ID68154661 — @r2evans: вы можете опубликовать лучший способ, и я удалю этот ответ.