mysql 用循环和前缀更新表中的所有行

gcuhipw9  于 2023-05-16  发布在  Mysql
关注(0)|答案(1)|浏览(70)

我是MySQL新手。我有一个表“图书”,在表中是ISBN列。如何为所有行更新此列?
我必须根据密钥用ISBN完成所有行:BOOK0001、BOOK0002、BOOK0003...(其中BOOK是前缀)。
我有这样的东西,但我不确定我的意思是正确的:

SET @isbn=0;
UPDATE books SET isbn = (@isbn:=@isbn+1) ORDER BY isbn;

我能指望一个提示吗?

0lvr5msh

0lvr5msh1#

UPDATE books
CROSS JOIN (SELECT @isbn:=0) init_var
SET isbn = CONCAT('BOOK', LPAD(@isbn:=@isbn+1, 4, 0));

相关问题