mysql 判断表数据是否存在,然后修改

来源:互联网 发布:js兼容性测试 编辑:程序博客网 时间:2024/05/22 04:43


use ccb_ryfz


DELIMITER ??
DROP PROCEDURE IF EXISTS schema_change??
CREATE PROCEDURE schema_change()
BEGIN
IF NOT EXISTS (select * from `ccb_ryfz`.`user` where username='gs') THEN
    select '1';
ELSE    
    select '2';
END IF; 
END??
DELIMITER ;


CALL schema_change();



delimit命令:

就是告诉mysql解释器,该段命令是否已经结束了,mysql是否可以执行了,即改变输入结束符。
默认情况下,delimiter是分号“;”。
在命令行客户端中,如果有一行命令以分号结束,
那么回车后,mysql将会执行该命令。
但有时候,不希望MySQL这么做。因为可能输入较多的语句,且语句中包含有分号。
默认情况下,不可能等到用户把这些语句全部输入完之后,再执行整段语句。
因为mysql一遇到分号,它就要自动执行。
这种情况下,就可以使用delimiter,把delimiter后面换成其它符号,如//或$$。
此时,delimiter作用就是对整个小段语句做一个简单的封装。
此命令多用在定义子程序,触发程序等mysql自己内嵌小程序中。