Неверный синтаксис рядом с ключевым словом «ON» - Попытка добавить суб данные в существующую строку - PullRequest
0 голосов
/ 01 ноября 2019

Мне нужна ваша помощь, я думаю, что то, что я пытаюсь сделать, выглядит правильно, но сервер возвращает ошибку «Неверный синтаксис рядом с ключевым словом« ON »». В основном я пытаюсь добавить данные подстроки (LastName и FirstName) т.е. Джон Смит на должность в офисе по полу и офисному номеру, тем самым указав в моей таблице Excel, что в этом офисе назначено 2 сотрудника (в соответствии с приведенным ниже примером Excel).

Возможно, я поступаю неправильноно свежий взгляд не повредит.

CREATE TABLE tbl_accdb 
(
     Floor INT,
     Office VARCHAR(255),
     Location VARCHAR(255),
     LastName VARCHAR(255),
     FirstName VARCHAR(255)
);

INSERT INTO tbl_accdb (Floor, Office, Location, LastName, FirstName) 
VALUES ('2', 'B-47A', 'NCR-Tower C', 'Doe', 'Jane')

INSERT INTO tbl_accdb (LastName, Firstname) 
VALUES ('Smith', 'John')
ON DUPLICATE KEY UPDATE Office='B-47A', Floor='2'

enter image description here

1 Ответ

1 голос
/ 01 ноября 2019

В отличие от программного обеспечения для работы с электронными таблицами, реляционные базы данных основаны на строго типизированных прямоугольных структурах, называемых таблицами, в которых все строки должны иметь одинаковые точные столбцы (одинаковое число и одинаковые типы данных), а строки не имеют определенного порядка (наборы результатов могут быть отсортированы). , таблицы не могут).

В этом случае вам понадобятся две разные таблицы (одна для местоположений, другая для сотрудников). Таблица местоположений должна иметь уникальный идентификатор (первичный ключ), который вы будете использовать в таблице сотрудников (внешний ключ):

location_id | floor | office | location
------------+-------+--------+------------
          1 |     2 | B-47A  | NRC-Tower C
employee_id | location_id | last_name | first_name
------------+-------------+-----------+-----------
          1 |           1 | Doe       | Jane
          2 |           1 | Smith     | John
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...