首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL用户AutoIncrement权限限制

MySQL用户AutoIncrement权限限制
EN

Stack Overflow用户
提问于 2010-03-20 01:10:58
回答 2查看 420关注 0票数 1

我有两个数据库,它们需要在不同的表上同步它们的自动增量ids。现在,我有一个PHP函数可以检查两个表的当前自动增量id,然后将最低值设置为最高值。如果有更好的办法,我洗耳恭听。

我真的不想给web用户alter权限,因为SQL注入可能会清除所有密码(或其他愚蠢的东西)。有没有办法限制MySQL用户更改自动增量,而不打开它来更改alter语句?

EN

回答 2

Stack Overflow用户

发布于 2010-03-20 01:53:43

在MySQL中,您可以设置自动增量列的值。MySQL将自动使下一个数字更高。假设到目前为止我有两条记录,因此自动增量id字段中的最高值是2。我插入了一条新记录,指定了值。

代码语言:javascript
复制
INSERT INTO User (id, name) values(5, 'john')

下一个id值将是6:

代码语言:javascript
复制
INSERT INTO User (name) values('dave')

不需要更改该表。

在MSSQL中,您需要翻转开关才能执行相同的操作。

代码语言:javascript
复制
SET IDENTITY_INSERT ON
票数 0
EN

Stack Overflow用户

发布于 2012-02-07 21:12:26

“我有两个数据库需要在不同的表上同步它们的自动增量ids。”

WAT?

“我实际上说的是让不同数据库上的两个相同的表保持同步。”

如果您希望复制同一个表,以便可以在两台不同的机器上访问它,则应该使用MySQL复制,而不是尝试从头开始重新实现它。

如果您不想精确地复制表,而只是想在单独的位置重新插入数据,则应该重做最初用于插入数据的代码。

手动尝试同步自动增量is几乎肯定是错误的,无论您试图实现什么。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2479188

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档