gpt4 book ai didi

c# - 获取模式时如何将自动增量设置为 1

转载 作者:行者123 更新时间:2023-11-29 06:42:50 26 4
gpt4 key购买 nike

每年年底,我有 12 个表在某些情况下转移到新数据库。(db2012、db2013 等)通过以下过程,我从旧数据库中获取模式并将它们创建到新数据库中。但是当在每个模式的末尾创建新表时,有一行 AUTO_INCREMENT=oldlastvalue of autoincrement value。

如何得到它1

1) 我必须在传输数据之前截断每个表

2) 在sql文件中写一个改变这个数字的程序。

3)?希望在从旧数据库读取时得到它作为 1

有解决办法吗?

private void CopySchemas(string pathname)
{
string [] MyArray = new string[12];
int index = 0;
using (MySqlConnection conn = new MySqlConnection(PublicVariables.cs))
{
using(MySqlCommand cmd = new MySqlCommand("SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE' AND TABLE_SCHEMA='" + PublicVariables.DbName+"'",conn))
{
conn.Open();
MySqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
MyArray[index] = reader.GetValue(0).ToString(); // getting only the name of the table for creating my filename.sql
++index;
}
reader.Dispose();
}
for (int i = 0; i < MyArray.Length; ++i)
{
string tblname = MyArray[i];
string fname = pathname +"\\" + tblname + ".sql";
MySqlCommand cmd = new MySqlCommand("SHOW CREATE TABLE " + PublicVariables.DbName + "." + tblname, conn);
MySqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
for (int a = 0; a < reader.FieldCount; ++a)
string Schemas = reader.GetValue(a).ToString();
File.WriteAllText(fname,Schemas );
}
reader.Dispose();
}
}
}

最佳答案

对于 MySQL,命令是:

ALTER TABLE tablename AUTO_INCREMENT = 0

关于c# - 获取模式时如何将自动增量设置为 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20438369/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com