Я пытаюсь вставить данные в таблицу БД из листа MS Excel 2007 с помощью функции импорта.Проблема в том, что у моей таблицы БД есть первичный ключ auto_incremented.Это в основном означает, что в листе Excel по практическим причинам не может существовать столбец, который будет действовать как данные первичного ключа, так как редакторам будет утомительно продолжать ввод данных вручную [лист Excel для таблицы можно добавить несколько раз.отсюда время, когда ведение табуляции последнего числа в столбце первичного ключа - не очень хорошая идея].
В этом и заключается проблема. Функция импорта отказывается вставлять информацию в конкретную таблицу, носкорее создает новую таблицу в базе данных и вводит туда информацию.Чтобы противостоять этому, вторая стратегия состояла бы в том, чтобы иметь триггер или хранимую процедуру, которая выполняет периодический [меня не волнует семантика того, когда и как это будет выполняться]: INSERT INTO requiredDbColumn SELECT *
FROM excelSheetTable
Однако на самом деле это не сработает, так как в excelSheetTable и requiredDbColumn имеется несоответствие значений / столбцов, поскольку в excelSheetTable имеется только (n-1) число столбцов, созданных из загруженного листа Excel, против обязательногоDbColumnимеет n столбцов, дополнительный столбец является столбцом первичного ключа.
Я установил первичный ключ на автоматическое увеличение, поэтому я не уверен, почему INSERT INTO, SELECT указывает количество столбцов / количество значенийнесоответствие.
Это общая проблема, у кого-нибудь есть решение для этого?
Спасибо!