它可以通过以下方式设置/重置AUTO_INCREMENT
MySQL表的值
ALTER TABLE some_table AUTO_INCREMENT = 1000
但是我需要设置AUTO_INCREMENT
其现有值(以修复MM复制),例如:
ALTER TABLE some_table SET AUTO_INCREMENT = AUTO_INCREMENT + 1
这不起作用
好吧,实际上,我想对数据库中的所有表运行此查询。但这实际上不是很关键。
除了手动运行查询之外,我找不到解决该问题的方法。您能否提出一些建议或向我指出一些想法。
谢谢
使用:
ALTER TABLE some_table AUTO_INCREMENT = 0
…将根据auto_increment列中现有的最高值将auto_increment值重置为下一个值。
要在所有表上运行该表,您将需要使用MySQL的动态SQL语法,称为PreparedStatements,因为您无法为变量表提供ALTER TABLE语句的表名。您必须遍历以下来源的输出:
SELECT t.table_name
FROM INFORMATION_SCHEMA.TABLES t
WHERE t.table_schema = 'your_database_name'
…对每个表运行上面的ALTER TABLE语句。
问题内容: 有什么命令可以从所有数据库中找到某个表吗?因为我忘了桌子在哪里。谢谢。 问题答案: 使用特定于MySQL的: …或使用ANSI标准INFORMATION_SCHEMA.TABLES:
问题内容: 如何使用查询获取SQL Server数据库中所有表的列表。我的意图是将其动态显示在网页上。 问题答案: 尝试: 这应该给您您想要的。然后,您需要从网页中调用它,以所需格式显示。 您可能要看: 如何使用C#在组合框中从数据库获取所有表的名称 可能会帮助您完成您想做的事情。 另外-您可能想看一下SQL Server:我应该在sys表上使用information_schema表吗? 用于sy
问题内容: 有没有一种方法可以获取MySQL数据库中所有表的行数而不在每个表上运行? 问题答案: 不过请从文档中注意:对于InnoDB表, 行数只是 SQL优化中使用 的粗略估计 。您需要使用COUNT(*)进行精确计数(这更昂贵)。
问题内容: 好吧,所以我对PHP和SQL / MySQL还是相当陌生,因此感谢您的帮助。 我觉得我采取了正确的方法。我在php.net上搜索了“ MySQL显示所有表名”,它返回了不建议使用的方法,并建议使用MySQL查询,但不确定“模式”是什么意思,但是我搜索了“ SQL通配符”并得到了“% ”符号。根据我发现的所有内容,这应该可以工作并在末尾输出表名,但事实并非如此。有什么建议么?提前致谢。
问题内容: 我正在使用.NET Web窗体和数据库作为数据源来构建一个简单的站点。 问题是:我有一个正常工作的后台槽,可以创建,修改和删除新页面。 虽然我可以创建和删除,但是编辑功能不起作用。 我意识到问题可能出在查询中,因为代码对于其他功能运行正常。 这是查询: 我不太喜欢SQL,我做错什么了吗? 先感谢您 编辑N掳2。目前,该查询无法正常工作,基本上,某些内容和标题中带有撇号,并且当我更新该特
问题内容: 是否有一条SQL命令将列出数据库中的所有表,并且该命令与提供程序无关(可在MSSQLServer,Oracle,MySQL上运行)? 问题答案: 最接近的选项是查询表。 它是标准SQL的一部分,但并非所有供应商都支持它。据我所知,唯一支持它的RDBMS供应商是: 的MySQL PostgreSQL的 微软SQL服务器2000年/ 2005年/ 2008年 一些品牌的数据库,例如Orac