我不熟悉SQL存储过程。存储过程 - 更新查询
我有一个名为customer的表,它有一个名为accountNo的表。我想用新帐户更新客户表,并且帐户编号应该从1000开始递增。
我想更新表格中的所有客户和帐户否将像100,1001,1002 .....
在此先感谢, Nimmy
我不熟悉SQL存储过程。存储过程 - 更新查询
我有一个名为customer的表,它有一个名为accountNo的表。我想用新帐户更新客户表,并且帐户编号应该从1000开始递增。
我想更新表格中的所有客户和帐户否将像100,1001,1002 .....
在此先感谢, Nimmy
这将更新每客户表中的
UPDATE Customer
SET accountNumber = accountNumber+1000
这是基于对你说:“customer表的事实只有1个字段 - accountNumber“。不过,我怀疑的是,你的表实际上具有代表一个客户ID的关键(如果不是,它应该!!!)
在这种情况下,你可能要更新一个特定的客户帐号
UPDATE Customer
SET accountNumber = accountNumber+1000
WHERE customerId = 123
由Jamiec提供的解决方案几乎是正确的,但如果accountNumber上有唯一密钥,则由于唯一键约束,他的第一次更新可能不起作用。考虑accoutNumber = 1和accountNumber = 1001,如果accountNumber = 1的行将被首先更新,MySQL将引发错误'xxx行的重复键'。
你需要以更新Customer表
UPDATE Customer
SET accountNumber = accountNumber + 1000
ORDER BY accountNumber DESC