更新语句出错,与插入混淆?

Error in update statement, confused with insert?

UPDATE KopierenJPGs 
SET(IdImage, Path, Date) 
VALUES (115,'\fantasy.jpg', '22/02/2015 18:08:28') 
WHERE IdImage = 30 
 And 
WHERE Path = '\fantasy.jpg' 
 AND 
WHERE Date = '22/02/2015 18:10:28'

我被教导要像这样执行更新语句,尽管没有一个网站给出这个例子。

在我看来,我的老师混淆了插入命令和更新命令? 我这里有错吗?这个说法有实际错误吗?

我知道有三个 where 子句,我的程序需要它们。我无法更新固定 ID,因为列名是可变的,这是故意的。

谢谢。

我怀疑你的老师造成了混淆。使用 update 的正确语法:

UPDATE KopierenJPGs
    SET IdImage = 115,
        Path = '\fantasy.jpg',
        Date = '2015-02-22 18:08:28'
    WHERE IdImage = 30 And Path = '\fantasy.jpg' and Date = '2015-02-22 18:10:28';

请注意,我还将日期格式更改为 ISO 标准格式。您应该在代码中使用它们以避免歧义和未来的问题。

如果你想插入一个新行,那么是的,而不是更新你需要像这样的插入语句:

 INSERT INTO KopierenJPGs (IdImage, Path, Date) 
 VALUES (115,'\fantasy.jpg', '22/02/2015 18:08:28') 

如果你想更新一个已经存在的行,你可以这样做:

UPDATE KopierenJPGs 
SET IdImage = 115, 
    Path = '\fantasy.jpg',
    Date = '22/02/2015 18:08:28'
WHERE IdImage = 30 
  AND Path = '\fantasy.jpg' 
  AND Date = '22/02/2015 18:10:28'