Mysql使用Describe命令判断字段是否存在
本文最后更新于 6328 天前,其中的信息可能已经有所发展或是发生改变。

工作时需要取得mysql中一个表的字段是否存在
于是就使用Describe命令来判断
如果大家有别的更好的方式的话
请告诉我哦

mysql_connect('localhost', 'root', 'root');
mysql_select_db('demo');
$test = mysql_query('Describe cdb_posts first');
$test = mysql_fetch_array($test);

$test[0]返回的是该字段的名称,比如我要查询first字段,返回的就是first
如果此字段不存在返回的就是NULL,通过这样可以判断一个字段是否存在

附加资料:

describe命令
一、describe命令用于查看特定表的详细设计信息,例如为了查看guestbook表的设计信息,可用:
describe guestbook

二、可通过"show comnus"来查看数据库中表的列名,有两种使用方式:
show columns form 表名 from 数据库名
或者:
show columns from 数据库名.表名

三、用describe命令查询具体列的信息
describe guestbook id
就是查询guestbook中id字段的列信息

{DESCRIBE | DESC} tbl_name [col_name | wild]
DESCRIBE 是 SHOW COLUMNS FROM 的缩写。DESCRIBE 提供有关一个表的列信息。col_name 可以是一个列名或是一个包含 SQL 通配符字符 “%” 和 “_” 的字符串。没有必要用引号包围字符串。

如果列类型不同于你所期望的基于一个 CREATE TABLE 语句建立的列,注意 MySQL 有时会更改列类型。这个语句是提供给与 Oracle 兼容的。

评论

  1. 17 年前
    2008-3-11 14:09:04

    在代码里面怎么实现呢?我用的是c。

  2. 博主
    17 年前
    2008-3-12 9:15:25

    用C也是一样啊,执行SQL语句获得结果集。

  3. Go_Rush
    17 年前
    2008-4-01 14:06:19

    用出错信息也可以

    mysql_query(“select first from cdb_posts where 1=0”);

    然后看 mysql_errno() 出错就表示不存在,不出错就表示存在

    当然,用 Desc cdb_posts first 应该是最好的办法了

  4. vancekq
    12 年前
    2012-7-20 10:13:19

    mysql_query(“select * from cdb_posts limit 1”);
    $test = mysql_fetch_array($test);判断是否var_dump(isset(test[‘first’]));如为false则表示该字段不存在

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇