我有一个 MSSQL Server 2008 R2 系统,可以在每晚的过程中更新各个系统上的各个表。我有一台 MySQL 链接服务器,其中一个表上有一个 Auto_Increment 。该表的内容每天晚上都会被删除和替换。这当然不会重置增量。我尝试过:
ALTER TABLE REMOTEMYSQL...[TableWithAI] AUTO_INCREMENT = 1
我得到:
Incorrect syntax near 'AUTO_INCREMENT'
我可以成功:
delete from REMOTEMYSQL...[TableWithAI]
但显然这不会重置 MySQL 端的增量
我尝试过:
Truncate TABLE REMOTEMYSQL...[TableWithAI]
我得到:
Cannot find the object "TableWithAI" because it does not exist or you do not have permissions.
但是链接中使用的 MySql 用户具有完全权限。如何删除内容并将增量归零,或者自行将增量归零?
最佳答案
假设您已经将 MySQL 配置为链接服务器,您可以 fire off non-query statements to linked servers with EXEC
:
EXEC('ALTER TABLE TableWithAI AUTO_INCREMENT = 1') AT LinkedMySQLServerName;
我相信查询应该采用 MySQL 语法,但我无法从我所在的位置进行测试。
关于mysql - 通过 MSSQL 重置 MySql 上的 Auto_Increment?我什至会选择截断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28116263/