Вставить значения в динамическую таблицу MySQL, не зная ее столбцов - PullRequest
1 голос
/ 22 октября 2019

Я пытаюсь создать универсальный метод, целью которого является вставка значений в таблицу SQL

Проблема в том, что таблица SQL известна только во время выполнения.

Метод получаетстрока, которая определяет значения для вставки. Из-за проблемы проектирования, это единственный параметр, который он получает: его подпись:

public Integer create(String values){}

Моя проблема: Как я могу написать код, в котором метод будет знать, какие у него столбцы - в именах строк?

Я думаю о:

Statement s = c.createStatement(); //c is of type Connection
String insert_Q = "INSERT INTO " + tableName + (THIS IS WHERE I AM STUCK - HOW TO RETRIEVE COLUMNS??) + " VALUES('" + VALUES    + "');" ;

s.executeUpdate(insert_Q);

Заранее спасибо!

1 Ответ

1 голос
/ 22 октября 2019

Как вы уже знаете имя таблицы

Шаг 1: Получить количество столбцов из таблицы, используя

    SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME  = 'Table_Name'

Используя это, получите общее количество столбцов из таблицы.

Тогда вы можете выполнить свою строку утверждений.

...