重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
判断字段是否存在:
专注于为中小企业提供成都网站设计、成都网站建设、外贸网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业北碚免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了1000+企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
DROP
PROCEDURE
IF
EXISTS
schema_change;
DELIMITER
//
CREATE
PROCEDURE
schema_change()
BEGIN
DECLARE
CurrentDatabase
VARCHAR();
SELECT
DATABASE()
INTO
CurrentDatabase;
IF
NOT
EXISTS
(SELECT
*
FROM
information_schema.columns
WHERE
table_schema=CurrentDatabase
AND
table_name
=
'rtc_order'
AND
column_name
=
'IfUpSend')
THEN
ALTER
TABLE
rtc_order
ADD
COLUMN
`IfUpSend`
BIT
NOT
NULL
DEFAULT
COMMENT
'是否上传
是否上传';
END
IF;
END//
DELIMITER
;
CALL
schema_change();
判断索引是否存在:
DROP
PROCEDURE
IF
EXISTS
schema_change;
DELIMITER
//
CREATE
PROCEDURE
schema_change()
BEGIN
DECLARE
CurrentDatabase
VARCHAR();
SELECT
DATABASE()
INTO
CurrentDatabase;
IF
NOT
EXISTS
(SELECT
*
FROM
information_schema.statistics
WHERE
table_schema=CurrentDatabase
AND
table_name
=
'rtc_phototype'
AND
index_name
=
'index_name')
THEN
ALTER
TABLE
`rtc_Phototype`
ADD
INDEX
index_name
(
`imgtype`
);
END
IF;
END//
DELIMITER
;
CALL
schema_change();
从这两段可以看出很多东西,具体可以自己试验一下
关于小编给大家介绍的Mysql判断表字段或索引是否存在的内容就给大家介绍到这里,希望对大家有所帮助!
不要用mysql_fetch_object()这个函数来判断,这个返回来的是个数组;一般情况下是这么来判断的:$query="select * from ".$tablepre."common_members"." where username ='".$_POST['reg_username']."'";$result=mysql_query($query,$link);$num = mysql_num_rows($result); //取得结果集中行的数目if($num){echo '';die();}
1.IF()函数的使用
IF(expr1,expr2,expr3),如果expr1的值为true,则返回expr2的值,如果expr1的值为false,则返回expr3的值。
SELECT IF(TRUE,'A','B'); -- 输出结果:A
SELECT IF(FALSE,'A','B'); -- 输出结果:B12
2.IFNULL()函数的使用
IFNULL(expr1,expr2),如果expr1的值为null,则返回expr2的值,如果expr1的值不为null,则返回expr1的值。
SELECT IFNULL(NULL,'B'); -- 输出结果:B
SELECT IFNULL('HELLO','B'); -- 输出结果:HELLO12
3.NULLIF()函数的使用
NULLIF(expr1,expr2),如果expr1=expr2成立,那么返回值为null,否则返回值为expr1的值。
SELECT NULLIF('A','A'); -- 输出结果:null
SELECT NULLIF('A','B'); -- 输出结果:A12
4.ISNULL()函数的使用
ISNULL(expr),如果expr的值为null,则返回1,如果expr1的值不为null,则返回0。
SELECT ISNULL(NULL); -- 输出结果:1
SELECT ISNULL('HELLO'); -- 输出结果:0
啊???
描述太模糊,我把我能想到的情况直接列出来吧
T1表 :
ID(int) | Name(text) | memo (text)
1 | 'Snape' | 'Someting A not B but C'
10 | 'Lucy' | 'Nothing much'
如果是确定值(int)10 可以用 select 1 from `T1` where ID = '10' limit 0,1;
如果有返回1行 (返回值必然只有1列 且值为1) 那么就是有
如果是 判断字段中 是否含有 一个字串
比如 判断 这张表里面是否有nothing这个词
可以用 select 1 from `T1` where `memo` like '%nothing%' limit 0,1;
如果有返回1行 (返回值必然只有1列 且值为1) 那么就是有
如果 作为 where 子句 的 判断条件 那么 可以用 exists()
另外 mysql还支持 正则表达式