此sql更新有什么问题?

时间:2019-03-21 09:09:20

标签: mysql

当我想执行此sql update语句时,出现语法错误,但是看不到我犯的任何语法错误。

UPDATE database1 
SET database1.Name = 'Hans', database1.Grund = 'Defekt', database1.Gerätename = 'Beamer', database1.Ausleihdatum = '15/3/2019', database1.Rückgabedatum = '29/3/2019', database1.Gerät_ID = database_geräte.ID 
FROM database1 
    INNER JOIN database_geräte ON database1.ID = database_geräte.ID 
WHERE database1.Name = 'Peter' AND database1.Grund = 'Altes Gerät defekt' AND database1.Gerätename = 'Beamer' AND database1.Ausleihdatum = '21/3/2019' AND database1.Rückgabedatum = '10/4/2019'

更新语句应该起作用,但是我不知道为什么...

1 个答案:

答案 0 :(得分:3)

问题是您正在使用SQL Server语法进行MySQL更新查询。在MySQL中,连接首先出现,然后是SET

UPDATE database1 t1
INNER JOIN database_geräte t2
    ON t1.ID = t2.ID
SET
    t1.Name = 'Hans',
    t1.Grund = 'Defekt',
    t1.Gerätename = 'Beamer',
    t1.Ausleihdatum = '15/3/2019',
    t1.Rückgabedatum = '29/3/2019',
    t1.Gerät_ID = t2.ID;