mysql - 通过 MSSQL 重置 MySql 上的 Auto_Increment?我什至会选择截断

标签 mysql sql-server

我有一个 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/

相关文章:

php - 如何在php中获取点击进入下一页的数据?

mysql - 如何使用另一个列表中的值更新一个列表中具有 id 的行

php - PDO结果为空但查询通过MySQL返回数据

sql - 比较 SQL Server 和 ORACLE 中日期的常用 SQL

mysql - 返回一个列值的结果,但不返回另一个 SQL

php - SQL/PHP 多值过滤(AND LIKE 'array[1]' AND LIKE 'array[2]' )

javascript - node.js 的哪个 ORM?

mysql - 什么时候在表中使用唯一键比使用主键更合适?

c# - SqlParameter 不存储错误的 BIT 值

sql-server - 允许 Access 数据库与 SQL Server 数据库进行限制对话