MySQL-mysql表增加字段时如何检查字段是否已经存在?

小组聊天灌水 小组聊天灌水 主题:993 回复:2175

MySQL-mysql表增加字段时如何检查字段是否已经存在?

灵芸 发布于 2016-10-12 字数 100 浏览 1062 回复 4

要在mysql表中增加字段,如何检查此字段是否已经存在?如果存在则更新这个字段的,如果不存在则新增

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

支持 Markdown 语法,需要帮助?

评论(4

浮生未歇 2017-05-28 4 楼

在php程序中用一下方式方式判断:

 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,通过这样可以判断一个字段是否存在

归属感 2017-04-10 3 楼

可以试试:

SELECT count(*)
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = 'db_name'
AND TABLE_NAME = 'table_name'
AND COLUMN_NAME = 'column_name'

归属感 2016-11-07 2 楼

SELECT IFNULL(column_name, '') INTO @colName
FROM information_schema.columns
WHERE table_name = 'my_table'
AND column_name = 'my_column';

IF @colName = '' THEN
-- 添加字段名 --
ELSE
--修改字段名--
END IF;

想挽留 2016-10-19 1 楼

先通过检查information_schema数据库,查找对应的字段是否存在;
或者通过desc分析表结构,进行判断字段是否存在;
在决定使用alter命令还是change命令,如下
ALTER [IGNORE] TABLE tbl_name
|ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT}
|CHANGE [COLUMN] old_col_name column_definition
[FIRST|AFTER col_name]
|MODIFY [COLUMN] column_definition [FIRST | AFTER col_name]