2014-02-13 29 views
1

我想改變我的服務器機器上的存儲過程。我通過SSH上傳代碼Linux命令提示符,我需要更改我的服務器中現有的存儲過程。沒有c面板或php Myadmin訪問權限。我必須通過命令提示符進行更新。如何在Linux命令提示符下使用存儲過程

存儲procudere:

DELIMITER $$ 

USE `dbname`$$ 

DROP PROCEDURE IF EXISTS `add_data`$$ 

CREATE DEFINER=`root`@`localhost` PROCEDURE `add_data`(
    f_id INT(11), 
    f_guild_parentid INT(11),OUT lastid INT 
    ) 
BEGIN 
    INSERT INTO zid_tabename 
     (
     id, 
     character_detail_id, 
     media_id, 
     ) 
     VALUES 
     ( 
     f_id, 
     f_character_detail_id, 
     f_media_id, 
     NOW() , 
     NOW() 
     ); 
      SET lastid = LAST_INSERT_ID(); 
    END$$ 

DELIMITER ; 

我需要命令來執行this.Can任何人給我示例中的命令。

回答

1

只需將該腳本放在一個文件中,並通過來自任何服務器的mysql命令行運行該服務器就可以訪問您想要運行的用戶。

mysql -h {hostname} -u {username} -p{password} {database} < /path/to/script 

很明顯,您必須在運行的服務器上安裝mysql客戶端軟件包。

+0

答案中未提及數據庫名稱,它將如何將腳本放入數據庫中。 – user2681579

+0

@ user2681579是的。您需要保留這些信息。我更新了答案以反映數據庫命名。我只是把這一部分留下了。 –

+0

我們也可以使用「mysql> source /path/to/text_file.sql」也 – user2681579

相關問題