找到 4219 篇文章 关于 MySQLi

我们如何更改 MySQL 存储过程?

Prabhas
更新于 2020年6月22日 06:54:46

719 次浏览

如果我们对该过程具有 ALTER ROUTINE 权限,那么我们可以使用 ALTER PROCEDURE 语句更改 MySQL 存储过程。为了演示它,我们以名为“delete_studentinfo”的存储过程为例,该存储过程具有以下创建语句:mysql> SHOW CREATE PROCEDURE Delete_studentinfo\G *************************** 1. row ***************************            Procedure: Delete_studentinfo             sql_mode: ONLY_FULL_GROUP_BY, STRICT_TRANS_TABLES, NO_ZERO_IN_DATE, NO_ ZERO_DATE, ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER, NO_ENGINE_SUBSTITUTION     Create Procedure: CREATE DEFINER=`root`@`localhost` PROCEDURE `Delete_studentinfo`( IN p_id INT) BEGIN DELETE FROM student_info WHERE ID=p_id; END character_set_client: cp850 collation_connection: cp850_general_ci   Database Collation: ... 阅读更多

我们如何编写 MySQL 存储过程以从表中选择所有数据?

Priya Pallavi
更新于 2020年2月12日 07:53:37

993 次浏览

为了演示它,我们创建了一个名为“selectdetails()”的过程,它将从表“student_detail”中获取所有记录。mysql> Delimiter // mysql> Create Procedure selectdetails()    -> BEGIN    -> Select * from student_detail;    -> END// Query OK, 0 rows affected (0.00 sec)现在,在调用此过程后,我们将从“student_detail”表中获取所有记录。mysql> Delimiter ; mysql> CALL selectdetails(); +-----------+-------------+------------+ | Studentid | StudentName | address    | +-----------+-------------+------------+ |       100 | Gaurav      | Delhi      | |       101 | Raman       | Shimla     | |       103 | Rahul       | Jaipur     | |       104 | Ram        | Chandigarh | |       105 | Mohan       | Chandigarh | +-----------+-------------+------------+ 5 rows in set (0.00 sec) Query OK, 0 rows affected (0.01 sec)

我们如何在存储过程中编写 MySQL 处理程序,该处理程序使用 SQLSTATE 用于默认的 MySQL 错误并退出执行?

seetha
更新于 2020年2月12日 07:57:10

456 次浏览

众所周知,每当在 MySQL 存储过程中发生异常时,通过抛出正确的错误消息来处理它非常重要,因为如果我们不处理异常,则存储过程中可能会发生某些异常导致应用程序失败。MySQL 提供了一个处理程序,该处理程序使用 SQLSTATE 用于默认的 MySQL 错误并退出执行。为了演示它,我们使用以下示例,其中我们尝试在主键列中插入重复值。示例mysql> Delimiter // mysql> Create Procedure Insert_Studentdetails4(S_Studentid INT, S_StudentName Varchar(20), S_Address Varchar(20), OUT got_error ... 阅读更多

我们如何在存储过程中编写 MySQL 处理程序,该处理程序会抛出错误消息并退出执行?

Nikitha N
更新于 2020年6月22日 06:45:04

543 次浏览

众所周知,每当在 MySQL 存储过程中发生异常时,通过抛出正确的错误消息来处理它非常重要,因为如果我们不处理异常,则存储过程中可能会发生某些异常导致应用程序失败。MySQL 提供了一个处理程序,该处理程序会抛出错误消息并退出执行。为了演示它,我们使用以下示例,其中我们尝试在主键列中插入重复值。示例mysql> Delimiter // mysql> Create Procedure Insert_Studentdetails3(S_Studentid INT, S_StudentName Varchar(20), S_Address Varchar(20))     -> BEGIN ... 阅读更多

我们如何在存储过程中编写 MySQL 处理程序,该处理程序设置变量的特定值并继续执行?

Krantik Chavan
更新于 2020年2月12日 08:02:43

183 次浏览

众所周知,每当在 MySQL 存储过程中发生异常时,通过抛出正确的错误消息来处理它非常重要,因为如果我们不处理异常,则存储过程中可能会发生某些异常导致应用程序失败。MySQL 提供了一个处理程序,该处理程序设置变量的特定值并继续执行。为了演示它,我们使用以下示例,其中我们尝试在主键列中插入重复值。mysql> DELIMITER // mysql> Create Procedure Insert_Studentdetails2(S_Studentid INT, S_StudentName Varchar(20), S_Address Varchar(20), OUT ... 阅读更多

我们如何在存储过程中编写 MySQL 处理程序,该处理程序会抛出错误消息并继续执行?

vanithasree
更新于 2020年2月12日 08:00:57

632 次浏览

众所周知,每当在 MySQL 存储过程中发生异常时,通过抛出正确的错误消息来处理它非常重要,因为如果我们不处理异常,则存储过程中可能会发生某些异常导致应用程序失败。MySQL 提供了一个处理程序,该处理程序会抛出错误消息并继续执行。为了演示它,我们使用以下示例,其中我们尝试在主键列中插入重复值。示例mysql> DELIMITER // mysql> Create Procedure Insert_Studentdetails(S_Studentid INT, S_StudentName Varchar(20), S_Address Varchar(20))    -> BEGIN   ... 阅读更多

为什么不建议在 MySQL IN() 函数的列表中混合使用带引号和不带引号的值?

George John
更新于 2019年7月30日 22:30:21

64 次浏览

实际上,MySQL 对带引号的值(如字符串)和不带引号的值(如数字)有不同的比较规则。在 IN() 函数列表中混合使用带引号和不带引号的值可能会导致结果集不一致。例如,我们不能像下面这样编写带有 IN() 函数的查询:Select Salary from employee where ID IN(1,’a’,2,3,’c’) 更好的方法是按如下方式编写上述查询:Select Salary from employee where ID IN(‘1’,’a’,’2’,’3’,’c’)

如何根据使用 MySQL IN() 函数与列名进行的比较获得输出?

Monica Mona
更新于 2020年6月22日 06:38:53

91 次浏览

在这种情况下,我们需要使用列名作为“表达式”,然后将其与列表中的值进行比较。如果列具有与列表中匹配的值,则会生成输出。为了理解它,请考虑来自 employee 表的以下数据的示例:mysql> Select * from Employee; +----+--------+--------+ | ID | Name   | Salary | +----+--------+--------+ | 1  | Gaurav | 50000  | | 2  | Rahul  | 20000  | | 3  | Advik  | 25000  | | 4  | Aarav  | 65000  | | 5  | Ram    | 20000  | ... 阅读更多

如何使用 MySQL IN() 函数比较行构造器?

Anjana
更新于 2020年6月22日 06:38:09

99 次浏览

我们还可以使用 IN() 函数比较行构造器。考虑以下示例以使其更清晰:mysql> Select (10,2) IN ((5,10),(10,2),(2,10),(100,100)); +--------------------------------------------+ | (10,2) IN ((5,10),(10,2),(2,10),(100,100)) | +--------------------------------------------+ | 1                                          | +--------------------------------------------+ 1 row in set (0.00 sec) mysql> Select (10,2) IN ((5,10),(2,10),(100,100)); +-------------------------------------+ | (10,2) IN ((5,10),(2,10),(100,100)) | +-------------------------------------+ | 0                                   | +-------------------------------------+ 1 row in set (0.00 sec)

我们如何在存储过程中编写 MySQL 处理程序?

Srinivas Gorla
更新于 2020年6月22日 06:29:16

327 次浏览

在 MySQL 存储过程中,一旦发生异常,通过抛出适当的错误消息进行处理非常重要。假设,如果我们不处理异常,存储过程中的某个异常可能会导致应用程序失败。MySQL 提供了一个处理程序来处理存储过程中的异常。以下是可以在存储过程中使用的四种 MySQL 处理程序:DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SELECT 'got an error';上述处理程序将抛出一个错误消息并继续执行。DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET got_error=1;上述... 阅读更多

广告