Вечерние всеОшибка синтаксиса рядом с ScanID
Я работаю над небольшим приложением, но застрял в ограничении внешнего ключа SQLite. В основном то, что я имею один «HostLookuptable», как
CREATE TABLE tblHostLookup (
HostID INTEGER PRIMARY KEY AUTOINCREMENT,
HostName TEXT);
И один «ScanLookuptable», как
CREATE TABLE tblScanLookup (
ScanID INTEGER PRIMARY KEY AUTOINCREMENT,
ScanDate TEXT);
Тогда есть еще одна таблица, которая будет иметь отображение между двумя таблицами, как «ScanHistorytable»
CREATE TABLE tblScanHistory (
ScanHistoryID INTEGER PRIMARY KEY AUTOINCREMENT,
HostID INTEGER,
FOREIGN KEY(HostID) REFERENCES tblHostLookup(HostID),
ScanID INTEGER,
FOREIGN KEY(ScanID) REFERENCES tblScanLookup(ScanID));
Но я продолжаю получать сообщение об ошибке
Syntax error near ScanID
Почему так? Разве нам не разрешено иметь более одного внешнего ключа в таблице? Любая помощь в этом отношении будет отличной.
Благодаря
Если это внешний ключ ограничения, то попробуйте удалить внешний ключ НомерУзла и посмотреть, что происходит. –
@MarcB Он отлично работает с одним внешним ключом ... но нам серьезно не разрешено иметь более одного внешнего ключа? – user9517536248
Не видите ничего о ограничениях числа FK (http://www.sqlite.org/foreignkeys.html), поэтому, возможно, начните искать, есть ли там какие-то невидимые символы, которые могут вызвать ошибку синтаксического анализа, например. после первой строки внешнего ключа HostID. попробуйте повторно создать весь запрос создания заново. –