欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql delimiter 無效

MySQL delimiter語句用于設(shè)置自定義的分隔符,以區(qū)分MySQL本身使用的用于結(jié)束一個(gè)語句的分號(hào)。然而,有時(shí)候你可能會(huì)遇到delimiter無效的情況,下面介紹幾種可能的原因:

#1. 錯(cuò)誤的分隔符語法
delimiter //     #設(shè)置分隔符
create procedure test()
begin
select 'hello world';
end//
delimiter ;
#正確的分隔符語法:
delimiter //
create procedure test()
begin
select 'hello world';
end//
delimiter ;

上述的例子中,第一個(gè)delimiter語句設(shè)置的分隔符語法不正確,導(dǎo)致后續(xù)的Stored Procedure無法成功創(chuàng)建。

#2. 分隔符與SQL語句中的其他字符沖突
delimiter //
create trigger test_trigger before insert on test_table
for each row begin
if NEW.test_column = 1 then
set NEW.test_column = 2;
end if;
end//
delimiter ;
#發(fā)現(xiàn)問題:語句中使用了'//'
#正確的分隔符語法:
delimiter $$     #使用不沖突的分隔符
create trigger test_trigger before insert on test_table
for each row begin
if NEW.test_column = 1 then
set NEW.test_column = 2;
end if;
end$$
delimiter ;

在上述例子中,分隔符'//'出現(xiàn)在了Trigger語句中,與delimiter語句沖突。因此需要使用一個(gè)未在代碼中出現(xiàn)的字符,如'$$',作為分隔符。

#3. 在MySQL客戶端控制臺(tái)輸入時(shí)出錯(cuò)
delimiter //
create function test_func(input varchar(256))
returns varchar(256)
begin
set @v_output = concat('You said "', input, '"');
return @v_output;
end//
delimiter ;
#發(fā)現(xiàn)問題:在MySQL客戶端控制臺(tái)中輸入時(shí)將delimiter語句拆分成多個(gè)行,導(dǎo)致語法錯(cuò)誤
#正確的分隔符語法:
delimiter //
create function test_func(input varchar(256))
returns varchar(256)
begin
set @v_output = concat('You said "', input, '"');
return @v_output;
end//
delimiter ;

在上述例子中,delimiter語句被拆成了多行,導(dǎo)致語法錯(cuò)誤。需要確保delimiter語句在同一行輸入。

綜上所述,delimiter無效有多種可能的原因,需要仔細(xì)檢查和排除。