C语法:
if(true)
printf("为真");
else
printf("为假");
mysql语法:
if true then
select '为真';
else
select '为假';
end if
但是错的,谁知道呀?
6 个解决方案
#1
你的代码贴出来,提示什么
#2
if true then
select '为真';
else
select '为假';
end if
--------------------
[SQL] if true then
select '为真';
[Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'if true then
select '为真'' at line 1
select '为真';
else
select '为假';
end if
--------------------
[SQL] if true then
select '为真';
[Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'if true then
select '为真'' at line 1
#3
是在SP中?MYSQL不支持匿名块
delimiter $$
create procedure dd()
begin
if true then
...
else
...
end if;
end$$
delimiter ;
delimiter $$
create procedure dd()
begin
if true then
...
else
...
end if;
end$$
delimiter ;
#4
这种语句只能在存储过程或者函数里面使用 不能像sqlserver一样单独执行
#5
MYSQL支持IF THEN, 但这种非SQL语句,过程语句只能写在MYSQL的存储过程中。 毕竟MYSQL与SQL SERVER是不一样的。
#6
mysql > DELIMITER //
mysql > CREATE PROCEDURE proc2(IN parameter int)
-> begin
-> declare var int;
-> set var=parameter+1;
-> if var=0 then
-> insert into t values(17);
-> end if;
-> if parameter=0 then
-> update t set s1=s1+1;
-> else
-> update t set s1=s1+2;
-> end if;
-> end;
-> //
mysql > DELIMITER ;
mysql > CREATE PROCEDURE proc2(IN parameter int)
-> begin
-> declare var int;
-> set var=parameter+1;
-> if var=0 then
-> insert into t values(17);
-> end if;
-> if parameter=0 then
-> update t set s1=s1+1;
-> else
-> update t set s1=s1+2;
-> end if;
-> end;
-> //
mysql > DELIMITER ;
#1
你的代码贴出来,提示什么
#2
if true then
select '为真';
else
select '为假';
end if
--------------------
[SQL] if true then
select '为真';
[Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'if true then
select '为真'' at line 1
select '为真';
else
select '为假';
end if
--------------------
[SQL] if true then
select '为真';
[Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'if true then
select '为真'' at line 1
#3
是在SP中?MYSQL不支持匿名块
delimiter $$
create procedure dd()
begin
if true then
...
else
...
end if;
end$$
delimiter ;
delimiter $$
create procedure dd()
begin
if true then
...
else
...
end if;
end$$
delimiter ;
#4
这种语句只能在存储过程或者函数里面使用 不能像sqlserver一样单独执行
#5
MYSQL支持IF THEN, 但这种非SQL语句,过程语句只能写在MYSQL的存储过程中。 毕竟MYSQL与SQL SERVER是不一样的。
#6
mysql > DELIMITER //
mysql > CREATE PROCEDURE proc2(IN parameter int)
-> begin
-> declare var int;
-> set var=parameter+1;
-> if var=0 then
-> insert into t values(17);
-> end if;
-> if parameter=0 then
-> update t set s1=s1+1;
-> else
-> update t set s1=s1+2;
-> end if;
-> end;
-> //
mysql > DELIMITER ;
mysql > CREATE PROCEDURE proc2(IN parameter int)
-> begin
-> declare var int;
-> set var=parameter+1;
-> if var=0 then
-> insert into t values(17);
-> end if;
-> if parameter=0 then
-> update t set s1=s1+1;
-> else
-> update t set s1=s1+2;
-> end if;
-> end;
-> //
mysql > DELIMITER ;