MySQL判断表是否存在某个列
1个回答
展开全部
请指教。 尝试过在information_schema获取指定表的信息: select COLUMN_NAME from information_schema.COLUMNS where TABLE_SCHEMA='database_name' and TABLE_NAME='table_name' and COLUMN_NAME='column_name'; 在网上看到有人提到利用WHERE NOT EXISTS(.....),但经过多次尝试都还是不行。。。 ALTER TABLE `tab_phonebook` ADD COLUMN `column_name` int(4) default NULL WHERE NOT EXISTS (select COLUMN_NAME from information_schema.COLUMNS where TABLE_SCHEMA='database_name' and TABLE_NAME='table_name' and COLUMN_NAME='column_name'; ) ----------------- 悬赏分先随意,十分感谢各位关注我的问题,谢谢!!
最佳答案: Mysql使用Describe命令判断字段是否存在 工作时需要取得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]返回的是该字段的名 工作时需要取得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 有时会更改列类型。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询