Ошибка вставки SQL - PullRequest
       13

Ошибка вставки SQL

1 голос
/ 14 сентября 2009

код ошибки ниже

неправильный синтаксис рядом с "Main"

  INSERT INTO tbl  (
    'Week', 
    Main, 
    a, 
    b, 
    c, 
    d, 
    e                     
    )
    Select  'Week', 
    Main, 
    a, 
    b, 
    c, 
    d,
    e   
    FROM    tbl_link

Ответы [ 4 ]

2 голосов
/ 14 сентября 2009

Чтобы уточнить другие ответы:

SQL INSERT синтаксис с SELECT инструкциями выглядит следующим образом:

INSERT INTO Table(Column1Name, Column2Name, ...)
SELECT
Column1Data, Column2Data, ...
FROM Table

Список в скобках после имени таблицы, которую вы собираетесь обновить, представляет собой упорядоченный список столбцов в той таблице, которую вы намереваетесь заполнить. Он не представляет данные, которые попадут в таблицу.

2 голосов
/ 14 сентября 2009
INSERT INTO tbl  (
    'Week', 

Вы должны вставить здесь фактическое имя поля.

Если ваше поле называется Week, просто избавьтесь от кавычек:

  INSERT INTO tbl  (
        Week, 
        Main, 
        a, 
        b, 
        c, 
        d, 
        e                     
        )
        Select  'Week', 
        Main, 
        a, 
        b, 
        c, 
        d,
        e   
        FROM    tbl_link

, в противном случае подставьте имя поля.

0 голосов
/ 14 сентября 2009

здесь возможны две проблемы:

  • Ваш столбец "week" является зарезервированным словом, поэтому используйте квадратные скобки: [week] , когда вы ссылаетесь на него в любом запросе.
  • Исходя из вашей попытки вставки, ваши таблицы tbl и tbl_link должны иметь оба столбца с именами: [week], Main, a, b, c, d, и е. Если нет, вы должны переосмыслить то, что вы пытаетесь сделать. Первый список столбцов должен существовать в таблице tbl , а второй список столбцов должен находиться в таблице tbl_link . Если в tbl есть столбцы, которых нет в tbl_link , вы можете просто исключить их из INSERT:

    INSERT INTO tbl ( [Неделю], а, б, с ) Выберите [Неделя], а, б, с ОТ tbl_link

0 голосов
/ 14 сентября 2009
  INSERT INTO tbl  (
        [Week], 
        Main, 
        a, 
        b, 
        c, 
        d, 
        e                     
        )
        Select  [Week], 
        Main, 
        a, 
        b, 
        c, 
        d,
        e   
        FROM    tbl_link
...