Если вы знаете, количество столбцов, которые вы хотите вставить, вы можете сделать свою вставку запрос так же, как вы сделали свой CREATE TABLE. Явным назвать столбцы, которые вы хотите добавить свои данные в, и убедитесь, что столбцы оставить пустые разрешено быть пустыми (NULL или значения по умолчанию = 0)
INSERT INTO MyDB.myTable (Level_1, Level_2, ...) VALUES (Val_1, Val_2, ...);
Альтернативный подход будет хранить каждое вставленное значение отдельный ряд. Таким образом, вы не должны изменять количество столбцов в таблице.
Вам нужна таблица, в которой у вас есть идентификатор для каждой группы значений: - ID - Level - Значение
Вы могли бы иметь отдельную таблицу, где вы можете зарегистрировать каждый ID: - ID (BigInt , автоинкремент, первичный ключ) - информационное поле - отметка времени
Теперь для каждого набора данных, которые вы хотите вставить, сначала нужно вставить уникальный идентификатор. Если вы используете вторую таблицу, вставляя новую строку даст вам новый ID:
INSERT INTO register_table (ID, info, timestamp) VALUES (NULL, 'some info', NOW());
Это даст вам новый идентификатор (last_inserted_id). С этим идентификатором Теперь вставить все значения в другой таблице:
for(i=0i<columnNumber;i++){
"INSERT INTO _table (ID, Level, _Value) VALUES ("+ the_ID +", "+ i +", "+ the_VALUE +");";
}
Если вы хотите получать данные:
"SELECT Level, _Value FROM _table WHERE ID="+ the_ID +" ORDER BY Level;";
Зачем использовать sql? Если вы ищете таблицы с динамическими столбцами, вы можете посмотреть что-то вроде MongoDB. – verhie