我有一个关于按特定订单类型插入行订单号的问题。
产品表包含OrderNumber字段。我想通过名称以编程方式将新行添加到适当的OrderNumber。如果引用列是整数,那么它必须像
一样容易update products set OrderNumber=OrderNumber+1 where Price>555
varchar字段是否有类似的方式,如
update products set OrderNumber=OrderNumber+1 where Name>'bla%'
谢谢
答案 0 :(得分:2)
您只需使用here
中的序号运行更新查询即可答案 1 :(得分:2)
您可以使用STRCMP('text','text2')
update products
set OrderNumber=OrderNumber+1
where STRCMP(Name, 'bla') = 1;
击> <击> 撞击>
我很想念你的观点。你能尝试这样的东西吗?
SET @rownum:=0;
update
set OrderNumber=@rownum:=@rownum + 1
from products
order by Name;
答案 2 :(得分:1)
听起来像一个糟糕的设计。为什么不简单地使用简单的auto_increment字段并按顺序排序?通过定义的每个新记录都具有比其任何前任更高的ID。
答案 3 :(得分:1)
你的意思是update products set OrderNumber=OrderNumber+1 where Name like 'bla%'