2012-01-18 81 views
0

我有以下表格:Persons,Person_Categories和Persons_PersonCategories,它是n:m关系的链接表。在查询中插入,更新,删除语句

我也写了下面的查询,但插入语句无法正常工作。插入,更新和删除是单独的语句。该错误消息我得到的是

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; 

任何帮助将不胜感激“列数不为1的行匹配值计数”, 攒

+0

你可能在你的INSERT语句中,前指定列列表:插入到表(COL1,COL2)值(:VAL1,:VAL2) – 2012-01-18 17:36:47

+1

国家请你的表格模式。 – 2012-01-18 17:37:57

+0

这看起来不像一个查询。相反,它看起来像四个单独的陈述。 – dasblinkenlight 2012-01-18 17:38:52

回答

1

指定列被更新:

INSERT INTO Persons_PersonCategories (PrsCategory) VALUES (:PrsCategory) 

如果我没有正确猜测你想要做什么,请用正确的列名替换PrsCategory

0

看起来你需要添加,将personId

INSERT INTO Persons_PersonCategories(PersonID, PrsCatID) 
VALUES (:PersonID, :PrsCatID)