簡體   English   中英

MySQL給出錯誤的查詢結果

[英]MySQL Giving Wrong Query Result

我有下表,在Ubuntu 14.04中運行的MySQl 5.5.50中名為“類別”。 第一行是列名。

id, category_id, local_code,category
'1', 'cat1', 'lcl1', 'general 1'
'2', 'cat1', 'lcl1', 'general 2'
'3', 'cat2', 'lcl2', 'general 3'
'4', 'cat3', 'lcl3', 'general 4'

然后,我有以下簡單的存儲過程:

CREATE PROCEDURE `test`(
in category_code varchar(20))
BEGIN

    declare catcode varchar(20);
    set catcode = category_code;

    select count(id) as dummy
    from categories 
    where category_code = catcode;

END

當我這樣運行時; 打電話給test('cat1“');我是假的
4

但是我希望'dummy'獲得0,因為表中不存在“ category_code”。 當我使用存在的“ category_code”運行它時,我得到相同的錯誤結果

我做錯了嗎?

可能是因為您使用相同的名稱“ category_code”作為參數以及列名。 也許您可以嘗試將其更改為其他名稱,例如categ_code?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM