#mysql #r
#mysql #r
Вопрос:
В моей базе данных есть несколько таблиц, которые я пытаюсь заполнить данными, которые я сохранил в R, используя библиотеку (RMySQL). Я пытаюсь отправить фрейм данных курсов в таблицу с именем courses в столбце course_names . Вот код и функции MySQL, которые я пробовал, но, похоже, ни одна из них не работает, хотя использование dbWriteTable работало для новой таблицы, которую я назвал ‘test’, я хочу отправить данные в таблицу, которая уже существует.
ieCourses <- read.csv('IECourses.csv')
query <- "INSERT INTO courses(course_name) VALUES(ieCourses);" # This is wrong
rs <- dbSendQuery(mydb, query) # I feel this is the function to use but getting errors
dbWriteTable(mydb, 'courses', ieCourses,overwrite=TRUE)
Это одна из ошибок, которые я продолжаю получать… Ошибка в .local(conn, statement, …):
не удалось выполнить оператор: не удается удалить или обновить родительскую строку: сбой ограничения внешнего ключа
Комментарии:
1. Некоторое время, так как я использую R, но я думаю, вы должны использовать что-то вроде dbSendUpdate или аналогичное. Пожалуйста, попробуйте или проверьте документ вашей библиотеки для аналогичной функции.
2. Включить
SHOW CREATE TABLE course
. В сообщении об ошибке после его прочтения говорится, что существуют ограничения внешнего ключа. Вы должны исправить это ограничение в той же транзакции.