2017-10-24 10 views
0

私はipアドレスを持つidを取得するためにMySQLで関数を書いています。私のスクリプトでmysql関数の分割結果

CREATE FUNCTION `get_hwid_with_ipex`(`ipex` VARCHAR(15)) RETURNS int(4) unsigned 
BEGIN 
    DECLARE hwid INT(4); 

    SELECT `id` INTO hwid FROM `hardware` WHERE `ip_external` = ipex; 

    RETURN COALESCE(hwid, 'HWID not found'); 
END 

私はこのようなIDを取得しよう:

id=$(mysql -h$host -u$user -p$password -e "SELECT installscript_systems_test.get_hwid_with_ipex('127.0.0.1');") 
mysql -h$host -u$user -p$password -e "INSERT INTO installscript_systems_test.logging_actions (id, hwid, action, status, created, modified) VALUES (NULL, '$id', 'testing the script', 'successful', NOW(), NOW());" 

ます$ idの私の結果は次のとおりです。

私は唯一のIDを取得することを分割することができますどのように
installscript_systems_test.get_hwid_with_ipex('127.0.0.1') 1 

(例えば1)?

+0

あなたは 'installscript_systems_test.get_hwid_with_ipex( '127.0.0.1')'にスペースがないことを100%確信していますか?もしそうなら、単純な文字列の操作はトリックを行うべきです – Aserre

答えて

0

私は

id=$(mysql -h$host -u$user -p$password -e "SELECT installscript_systems_test.get_hwid_with_ipex('127.0.0.1') AS '';") 

し、それが動作AS '';でそれを変更しました。私の結果は今です1

パフォーマンスですか?