Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 从代码中检索表名和列名_Mysql_Database_Vb.net_Sqldatatypes_Tablecolumn - Fatal编程技术网

Mysql 从代码中检索表名和列名

Mysql 从代码中检索表名和列名,mysql,database,vb.net,sqldatatypes,tablecolumn,Mysql,Database,Vb.net,Sqldatatypes,Tablecolumn,我需要检索表名和要添加到表中的所有后续列,以手动执行此操作,这是根据我得到的代码提供的。我可以很容易地收集所有的表名(我相信),但我不能准确地看到我要查找的列。我需要了解列数据和数据类型的帮助(带表的旧mysql数据库丢失) 即使有人能告诉我要查找什么来找出我需要添加的表,列和列的数据类型。我将不胜感激。 我花了好几天的时间试图重建数据库,并找到各种方法来找出我需要的一切,我已经启动并运行了一些东西,但正是这些东西让我遇到了麻烦。搜索关键字插入、更新、,删除并选择以访问程序文件中的SQL语句,以

我需要检索表名和要添加到表中的所有后续列,以手动执行此操作,这是根据我得到的代码提供的。我可以很容易地收集所有的表名(我相信),但我不能准确地看到我要查找的列。我需要了解列数据和数据类型的帮助(带表的旧mysql数据库丢失)

即使有人能告诉我要查找什么来找出我需要添加的表,列和列的数据类型。我将不胜感激。
我花了好几天的时间试图重建数据库,并找到各种方法来找出我需要的一切,我已经启动并运行了一些东西,但正是这些东西让我遇到了麻烦。

搜索关键字插入、更新、,删除并选择以访问程序文件中的SQL语句,以确定表的名称和表的列。您可以从提供给SQL语句中使用的参数的值中获取最接近的SQL数据类型信息。根据WHERE子句中的列,您可能对主键有所了解,但这需要您对列的预期用途进行判断和熟悉,以确定某些列作为主键,因为非主键列也可以位于WHERE子句中

例如,我在useroptions.vb文件中看到以下代码:

                Dim Connection As New MySqlConnection(Utils.connectionString) : Connection.Open()
                Dim Command As New MySqlCommand("UPDATE custom_user_data SET `" + name + "`=@value WHERE userID=@userID;", Connection)
                Command.Parameters.AddWithValue("@value", value)
                Command.Parameters.Add("@userID", MySqlDbType.Int32).Value = userID
                Command.ExecuteNonQuery()

在这里您可以找到UPDATE语句。自定义用户数据的第一个标识符是表名。变量名包含一个您必须确定的列名。WHERE子句包含列名userID。您可以从参数中获取一些SQL数据类型信息。不幸的是,我不是一个VB程序员,因此我不能提供更多的信息。正如有人指出的,几乎不可能从程序中获得各种约束(主键、外键、检查约束)、可空性信息、触发器、任何存储过程等。祝您好运。

您是在代码涉及所有数据库表和数据库中的所有字段的前提下工作的,但情况可能并非如此。换句话说,即使你逐行检查代码,你也会在数据库中留下漏洞。你将如何重建触发器、存储过程等?您可能需要阅读设计文档(如果有的话)。所有内容都是硬编码的,所有的表和条目都可以通过错误调试和代码搜索找到,虽然我知道在正常情况下这是不够的,但在这种情况下是不够的。但是,这是有益的。谢谢你们两位。我已经成功地完成了大部分工作,并且进行了错误调试,进展顺利。我只是希望有一种方法来收集所有需要的数据。
                Dim Connection As New MySqlConnection(Utils.connectionString) : Connection.Open()
                Dim Command As New MySqlCommand("UPDATE custom_user_data SET `" + name + "`=@value WHERE userID=@userID;", Connection)
                Command.Parameters.AddWithValue("@value", value)
                Command.Parameters.Add("@userID", MySqlDbType.Int32).Value = userID
                Command.ExecuteNonQuery()