首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过PHP检查MySQL表中是否存在列

问通过PHP检查MySQL表中是否存在列
EN

Stack Overflow用户
提问于 2014-05-07 17:09:02
回答 9查看 38.2K关注 0票数 14

我创建了mysql表,并在其中放置了一些列。

现在我想通过php检查数据库中是否存在某一列。

如下所示:

代码语言:javascript
复制
if (column exist){
echo "Column in table is available."
}
else{
echo "Column doesnt exist.";
}

有可能做到这一点吗?

非常感谢您的宝贵时间:)

EN

回答 9

Stack Overflow用户

发布于 2014-05-07 17:11:54

试一试

代码语言:javascript
复制
$result = mysql_query("SHOW COLUMNS FROM `table` LIKE 'fieldname'");
$exists = (mysql_num_rows($result))?TRUE:FALSE;
if($exists) {
   // do your stuff
}

更多信息:- MySQL, Check if a column exists in a table with SQL

注意:- mysql_*不推荐使用mysqli或PDO

票数 33
EN

Stack Overflow用户

发布于 2019-10-08 01:10:27

这很简单,但对我来说很有效:

1)从您想要的表格中选择全部。

代码语言:javascript
复制
$qry = "SELECT * FROM table";

2)带出结果,验证字段是否存在。

代码语言:javascript
复制
if( $result = $mysqli->query($qry)  &&  isset($result['field_you_want']) ){
    //Exists
}else{
    //Doesn't exists
}
票数 2
EN

Stack Overflow用户

发布于 2019-03-18 15:26:15

假设您要查找下了至少一个销售订单的客户,您可以使用EXISTS运算符,如下所示:

代码语言:javascript
复制
SELECT customerNumber,
         customerName
FROM customers
WHERE EXISTS
    (SELECT 1
    FROM orders
    WHERE orders.customernumber = customers.customernumber);

对于customers表中的每一行,该查询都会检查orders表中的customerNumber。

如果出现在customers表中的customerNumber存在于orders表中,则子查询将返回第一个匹配的行。因此,EXISTS运算符将返回true并停止扫描orders表。否则,子查询不返回任何行,EXISTS运算符返回false。

要获取尚未下任何销售订单的客户,请使用not EXISTS运算符作为以下语句:

代码语言:javascript
复制
SELECT customerNumber,
         customerName
FROM customers
WHERE NOT EXISTS
    (SELECT 1
    FROM orders
    WHERE orders.customernumber = customers.customernumber);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23513479

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档