我想使用从25开始的自动增量(例如)更改具有大量行(大约3K)的表中的所有主键,但仅限于满足某个特定条件的行。有可能的 ?。这是表格的一个例子:
create table place(
code int auto_increment,
type varchar(10) not null,
name varchar(50) not null,
fk_place int,
constraint pk_place primary key (code),
constraint fk_place_place foreign key (fk_place) references place(code)
);
我想要更新,例如,所有“城市”行只更改主键但从25开始
答案 0 :(得分:1)
尝试使用变量。将其设置为小于您想要开始的值的一个,并使用一个表达式为<div style="vertical-align:middle;">
<asp:LinkButton ID="REQUEST_TAB_LINKBUTTON" runat="server"
style="text-decoration:none"
BackColor="#CCCCCC" Font-Names="Arial" Font-Size="X-Large"> Ask for help </asp:LinkButton>
</div>
SET
的右侧增加变量。
UPDATE
但是,您必须小心,不要使用SET @i = 24;
UPDATE place
SET code = @i := @i + 1
WHERE <your_condition>;
或任何后来UPDATE
生成欺骗。可能会使用INSERT
设置下一个值,该值将用于下一个ALTER TABLE place AUTO_INCREMENT = <new next value>;
。