вставлять, обновлять, удалять операторы в запросе - PullRequest
0 голосов
/ 18 января 2012

У меня есть следующие таблицы: Persons, Person_Categories и Persons_PersonCategories, которые являются таблицей связывания для отношения: m.

Я также написал следующий запрос, но оператор вставки работает неправильно.Вставка, обновление и удаление являются отдельными утверждениями.Я получаю сообщение об ошибке: «Количество столбцов не соответствует значению в строке 1»

SELECT Persons_PersonCategories.PersonID, PrsCategory
FROM Person_Categories
INNER JOIN Persons_PersonCategories
ON Persons_PersonCategories.PrsCatID = Person_Categories.PrsCatID

INSERT INTO Persons_PersonCategories
VALUES (:PrsCategory)

UPDATE Persons_PersonCategories
SET Persons_PersonCategories.PrsCatID = :PrsCatID
WHERE Person_Categories.PrsCatID = :OLD PrsCatID
AND Persons.PersonID = :OLD PersonID

DELETE FROM Persons_PersonCategories
WHERE Person_Categories.PrsCatID = :PrsCatID
AND Persons.PersonID = :PersonID;

Любая помощь будет принята, zan

Ответы [ 2 ]

1 голос
/ 18 января 2012

Укажите обновляемый столбец:

INSERT INTO Persons_PersonCategories (PrsCategory) VALUES (:PrsCategory)

Замените правильное имя столбца вместо PrsCategory, если я не угадал, что вы пытаетесь сделать.

0 голосов
/ 18 января 2012

Похоже, вам нужно добавить PersonID

INSERT INTO Persons_PersonCategories(PersonID, PrsCatID)
VALUES (:PersonID, :PrsCatID)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...