我需要通过php更新SQL中的表。 当我登录我的数据库并写下:
UPDATE table1
SET whatiwant = whatiwant
它会全部更新。这就是我想要的。 但是当我用PHP编写它时,它无法正常工作。
我需要给他一个Where子句来执行它,我必须遍历所有条目。
UPDATE table1
SET whatiwant = whatiwant
WHERE id = '1'
我需要更新所有条目。为什么不起作用?
答案 0 :(得分:0)
使用:
WHERE 1 = 1
匹配所有记录。
或者如果左侧需要Id,请使用无法匹配的内容,例如:
WHERE Id <> -1
如果你只有正号码。
答案 1 :(得分:0)
如果你想一直运行更新而不用where
写你的语句,否则如果你想要这个SQL
语句做两种不同的行为,你必须用参数写一个Stored Procedure
@id:
如果值传递给参数@id,则效果很好
如果您将null
传递给它,则会更新所有行而不包含任何where子句
SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE SP @id int =null AS BEGIN UPDATE table1 SET whatiwant = whatiwant WHERE (id = @id OR @id IS NULL) END GO