在delphi中重新启动自动增量字段
我正在使用firebird数据库并尝试重新启动id列作为自动增量 删除后的字段 如以下代码所示:在delphi中重新启动自动增量字段,delphi,field,restart,Delphi,Field,Restart,我正在使用firebird数据库并尝试重新启动id列作为自动增量 删除后的字段 如以下代码所示: SQLQuery1.Close; SQLQuery1.SQL.Text :='DELETE FROM MY_TABLE'; SQLQuery1.ExecSQL; //--------------------------------------------------------- SQLQuery1.Close; SQLQuery1.SQL.Text := 'ALTE
SQLQuery1.Close;
SQLQuery1.SQL.Text :='DELETE FROM MY_TABLE';
SQLQuery1.ExecSQL;
//---------------------------------------------------------
SQLQuery1.Close;
SQLQuery1.SQL.Text :=
'ALTER TABLE MY_TABLE ALTER COLUMN ID AUTO_INCREMENT =1';
SQLQuery1.ExecSQL;
但我不能那样做。只有deletesql命令有效。
截断是如何工作的?
以下代码在delphi中也不起作用:
SQLQuery1.Close;
SQLQuery1.SQL.Text :=
'TRUNCATE TABLE MY_TABLE';
SQLQuery1.ExecSQL;
谢谢删除所有记录后,请尝试以下代码
SQLQuery1.Close;
SQLQuery1.SQL.Text := 'SET GENERATOR ID TO 1';
SQLQuery1.ExecSQL;
请注意,1将是发电机的当前值!您可能希望将其设置为0
如果不起作用,请尝试firebirdnews中发布的此方法
参考:
截断表[]
::=
继续身份
|重新启动标识
使用查找特定Firebird版本支持或不支持的功能。并将其拼写为INCREMENT
,而不是ENCREMENT
。谢谢。我尝试了您的答案,但它返回了此错误无效请求BLR,偏移量5处未定义生成器ID。MyTable中列ID的生成器可能不是命名ID,而是其他名称。您可以在“设置生成器”命令中尝试其他方法。
TRUNCATE TABLE <target table> [ <identity column restart option> ]
<identity column restart option> ::=
CONTINUE IDENTITY
| RESTART IDENTITY