gpt4 book ai didi

mysql - 检查mysql表中是否存在列名

转载 作者:行者123 更新时间:2023-11-30 20:36:29 27 4
gpt4 key购买 nike

我想检查我的表中是否存在特定列。如果它不存在,我想使用 C 编程语言添加它。

我尝试了以下代码:

mysql_query(sqlhnd, "SELECT * FROM my_table");
MYSQL_RES *confres = mysql_store_result(sqlhnd);
int totalrows = mysql_num_rows(confres);
int numfields = mysql_num_fields(confres);
MYSQL_FIELD *mfield;

while((row = mysql_fetch_row(confres)))
{
for(i = 0; i < numfields; i++)
{
char *val = row[i];
// do something with val...
}
}

我想将 val 与列名称进行比较,例如:

if( !strcmp(val,"column")) { create the column using alter table }

我无法执行这部分代码

最佳答案

MySQL中有一些方法,但我这里省略了C代码:

  1. 执行 desc my_table 并在输出中查找您的列。
  2. 只需从 my_table limit 1 中选择 your_col 并查找真实错误(不是空集)
  3. 执行SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='your_db' AND TABLE_NAME='my_table';

我更喜欢第三个选项。它为您提供特定表的所有列名称的列表。我认为通过您的尝试,您不会获得列名称,而只能获得其内容。

关于mysql - 检查mysql表中是否存在列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35969328/

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