gpt4 book ai didi

mysql - 从代码中检索表名和列名

转载 作者:行者123 更新时间:2023-11-30 01:19:28 25 4
gpt4 key购买 nike

我需要检索表名称以及要添加到表中的所有后续列以手动执行此操作,这是从我获得的代码中给出的。我可以很容易地收集所有表名(我相信),但我无法准确地看到我正在寻找的列。我需要帮助了解列数据和数据类型(旧的 mysql 数据库与表丢失了)

useroptions.vb :http://pastebin.com/84SxTzfz
useroptionscommon.vb :http://pastebin.com/2rxf3e2y
Connections.vb :http://pastebin.com/CpWqt2m8
userpersistence.vb :http://pastebin.com/TaAex24Q
streamprocessor.vb :http://pastebin.com/Tazr1s8p
serverpersistance.vb :http://pastebin.com/qvnCN2PY
frontpagehub.vb :http://pastebin.com/FYyLH4qP

即使有人可以告诉我要寻找什么来找出我需要添加的表、列和列的数据类型。我将不胜感激。我花了几天时间尝试重建数据库并找到方法来找出我需要的一切,并且我已经启动并运行了一些东西,但我特别遇到了麻烦。

最佳答案

搜索关键字INSERT、UPDATE、DELETE和SELECT,到达程序文件中的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 语句。第一个标识符 custom_user_data 是表的名称。变量名称包含一个您必须弄清楚的列名称。 WHERE 子句包含列名 userID。您可以从参数中获取一些SQL数据类型信息。不幸的是,我不是 VB 程序员,因此我无法提供更多信息。正如有人指出的那样,从程序中获取各种约束(主键、外键、检查约束)、可空性信息、触发器、任何存储过程等几乎是不可能的。祝你好运。

关于mysql - 从代码中检索表名和列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18710143/

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