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

时间:2015-03-01 13:56:25

标签: sql sql-update

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

我被教导要执行这样的更新语句,尽管没有一个站点提供此示例。

在我看来,我的老师将插入命令与更新命令混淆了? 我在这里弄错了吗?这个陈述中是否有实际错误?

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

谢谢。

2 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

如果要插入新行,则是,而不是更新,您需要插入语句,如:

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

如果要更新现有行,可以执行以下操作:

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