2012-01-11 2 views
1

У меня есть следующий SQL-запрос, который я пытаюсь запустить внутри Microsoft Access 2010, и я получаю сообщение об ошибке (ошибка синтаксиса в инструкции INSERT INTO), тогда он выделяет поле «Уровень», если я переименую поле в «Level1», он работает. Проблема в том, что я не могу переименовать это поле, потому что у меня есть несколько SQL-запросов в PHP, которые я полагаюсь на имя поля «Уровень». Любые идеи о том, почему он выдавал бы ошибку.Microsoft Access не любит имя поля таблицы в SQL Query

Причина, по которой я выполняю запрос, заключается в том, чтобы скопировать данные из внешней базы данных sqlite ODBC с помощью связанных таблиц. У меня есть несколько других запросов INSERT INTO, работающих таким образом. Если есть другой способ, дайте мне знать. У меня есть запрос в некотором VB коде, который я использую DoCmd.RunSQL

INSERT INTO MinorStats1 (PlayerID,YearNumber,TeamID,Level,B_PA,B_AB,B_Hits,B_Doubles,B_Triples,B_HR,B_RBI,B_BB,B_K,B_TB,B_AVG,B_SLG,B_OPS,B_OBP,B_FPCT,B_SB,B_CS,P_Wins,P_Losses,P_Saves,P_GS,P_OutsPitched,P_BF,P_Hits,P_HR,P_BB,P_K,P_ER,P_ERA)SELECT PlayerID,YearNumber,TeamID,Level,B_PA,B_AB,B_Hits,B_Doubles,B_Triples,B_HR,B_RBI,B_BB,B_K,B_TB,B_AVG,B_SLG,B_OPS,B_OBP,B_FPCT,B_SB,B_CS,P_Wins,P_Losses,P_Saves,P_GS,P_OutsPitched,P_BF,P_Hits,P_HR,P_BB,P_K,P_ER,P_ERA FROM MinorStats 

ответ

3

Заключите level в квадратных скобках следующим образом:

INSERT INTO MinorStats1 (PlayerID,YearNumber,TeamID,[Level],B_PA,B_AB,B_Hits,B_Doubles,B_Triples,B_HR,B_RBI,B_BB,B_K,B_TB,B_AVG,B_SLG,B_OPS,B_OBP,B_FPCT,B_SB,B_CS,P_Wins,P_Losses,P_Saves,P_GS,P_OutsPitched,P_BF,P_Hits,P_HR,P_BB,P_K,P_ER,P_ERA)SELECT PlayerID,YearNumber,TeamID,[Level],B_PA,B_AB,B_Hits,B_Doubles,B_Triples,B_HR,B_RBI,B_BB,B_K,B_TB,B_AVG,B_SLG,B_OPS,B_OBP,B_FPCT,B_SB,B_CS,P_Wins,P_Losses,P_Saves,P_GS,P_OutsPitched,P_BF,P_Hits,P_HR,P_BB,P_K,P_ER,P_ERA FROM MinorStats

Вы должны сделать это, потому что level является зарезервированным словом в Access. Полный список зарезервированных слов см. В разделе http://support.microsoft.com/kb/286335.

+0

yep это было его спасибо – punkdis

2

Вам просто нужно окружать [Уровень] (который является зарезервированным словом, очевидно) с кронштейнами.

+1

Потому что «уровень» является зарезервированным ключевым словом ODBC –

Смежные вопросы