找到 4219 篇文章,关于 MySQLi

MySQL 如何处理触发器执行期间的错误?

Kumar Varma
更新于 2020-06-22 13:00:16

966 次浏览

假设在触发器执行期间发生错误,则 MySQL 可以按如下方式处理:如果 BEFORE 触发器失败,则不执行对应行的操作。BEFORE 触发器由尝试插入或修改行激活,无论该尝试随后是否成功。AFTER 触发器仅在任何 BEFORE 触发器和行操作成功执行后才执行。BEFORE 或 AFTER 触发器中的错误会导致导致触发器调用的整个语句失败。对于事务表,语句失败应导致回滚语句执行的所有更改。 ... 阅读更多

如何使用 BEFORE INSERT 触发器来模拟 CHECK CONSTRAINT 以将值插入表中?

Moumita
更新于 2020-06-22 13:02:44

392 次浏览

众所周知,MySQL 支持外键以实现引用完整性,但它不支持 CHECK 约束。但是,我们可以通过使用触发器来模拟它们。这可以通过以下示例来说明:示例假设我们有一个名为“car”的表,该表可以具有固定的语法注册号,例如两个字母、一个破折号、三个数字、一个破折号、两个字母,如下所示:mysql> Create table car (number char(9)); Query OK, 0 rows affected (0.32 sec) mysql> Insert into car values('AB-235-YZ'); Query OK, 1 row affected (0.10 sec)以上值是有效值,但是什么 ... 阅读更多

我们如何在 MySQL 触发器中使用 SIGNAL 语句?

Monica Mona
更新于 2020-06-22 13:04:51

3K+ 次浏览

实际上,MySQL SIGNAL 语句是一种错误处理机制,用于处理意外事件并在需要时从应用程序优雅退出。基本上,它向处理程序提供错误信息。其基本语法如下:SIGNAL SQLSTATE | condition_value [SET signal_information_item = value_1, [, signal_information_item] = value_2, 等;]这里,SIGNAL 关键字是 SQLSTATE 值或由 DECLARE CONDITION 语句声明的条件名称。SIGNAL 语句必须始终指定 SQLSTATE 值或使用 SQLSTATE 值定义的命名条件。SIGNAL 语句的 SQLSTATE 值由五个字符组成 ... 阅读更多

如何更改 MySQL 表中现有列的名称?

Srinivas Gorla
更新于 2020-06-22 13:01:19

184 次浏览

我们可以使用 CHANGE 语句以及 ALTER 语句更改 MySQL 表中特定现有列的名称。其语法如下:语法ALTER TABLE table_name CHANGE old_column_name new_column_name datatype;这里,table_name 是我们要从中删除列的表的名称。Old_column_name 是要更改的列的名称。new_column_name 是要赋予旧列的列的名称。示例在此示例中,我们将列“id”的名称更改为表“student_info”中的“studentid”,如下所示:mysql> Select * from Student_info; +------+---------+------------+------------+ | id   | ... 阅读更多

如何从 MySQL 表中删除现有列?

Abhinanda Shri
更新于 2020-06-22 12:46:11

172 次浏览

我们可以使用 DROP 语句以及 ALTER 语句从 MySQL 表中删除特定现有列。其语法如下:语法ALTER TABLE table_name DROP column_name;这里,table_name 是我们要从中删除列的表的名称。Column_name 是要从表中删除的列的名称。示例在此示例中,我们正在从表“student_detail”中删除列“address”,如下所示:mysql> select * from student_detail; +-----------+-------------+----------+ | Studentid | StudentName | address  | +-----------+-------------+----------+ |       100 | Gaurav      | Delhi   ... 阅读更多

我们如何模拟 MySQL MINUS 查询?

mkotla
更新于 2020-06-22 12:47:50

541 次浏览

由于我们不能在 MySQL 中使用 MINUS 查询,因此我们将使用 JOIN 来模拟 MINUS 查询。这可以通过以下示例来理解:示例在此示例中,我们有两个表,即 Student_detail 和 Student_info,它们具有以下数据:mysql> Select * from Student_detail; +-----------+---------+------------+------------+ | studentid | Name    | Address    | Subject    | +-----------+---------+------------+------------+ |       101 | YashPal | Amritsar   | History    | |       105 | Gaurav  | Chandigarh | Literature | |       130 | Ram     | Jhansi ... 阅读更多

我们如何获取所有 MySQL 事件相关操作的总数?

Rama Giri
更新于 2020-06-22 12:46:43

117 次浏览

借助 SHOW STATUS 语句,我们可以获取 MySQL 事件相关操作的计数。它可以按如下方式使用:mysql> SHOW STATUS LIKE '%event%'; +--------------------------+-------+ | Variable_name            | Value | +--------------------------+-------+ | Com_alter_event          | 16    | | Com_create_event         | 6     | | Com_drop_event           | 4     | | Com_show_binlog_events   | 0     | | Com_show_create_event    | 0     | | Com_show_events          | 4     | | Com_show_relaylog_events | 0     | +--------------------------+-------+ 7 rows in set (0.17 sec)

MySQL 中有哪些不同的状态变量可以为我们提供事件相关操作的计数?

Sharon Christine
更新于 2020-06-22 12:49:04

50 次浏览

以下是 MYSQL 中提供事件相关操作计数的状态变量:Com_create_event 它为我们提供了自上次服务器重启以来执行的 CREATE EVENT 语句的数量。Com_alter_event - 它为我们提供了自上次服务器重启以来执行的 ALTER EVENT 语句的数量。Com_drop_event - 它为我们提供了自上次服务器重启以来执行的 DROP EVENT 语句的数量。Com_show_create_event - 它为我们提供了自上次服务器重启以来执行的 SHOW CREATE EVENT 语句的数量。Com_show_events - 它为我们提供了自上次服务器重启以来执行的 SHOW EVENTS 语句的数量。阅读更多

我们如何获取 MySQL 事件的元数据?

Ankith Reddy
更新于 2020-06-22 12:45:07

169 次浏览

这可以通过 INFORMATION_SCHEMA 数据库来完成。以下语句将为我们提供事件的元数据:mysql> SELECT * from INFORMATION_SCHEMA.EVENTS WHERE EVENT_NAME LIKE '%event%' A ND EVENT_SCHEMA = 'query'\G *************************** 1. row ***************************       EVENT_CATALOG: def        EVENT_SCHEMA: query          EVENT_NAME: testing_event6             DEFINER: root@localhost           TIME_ZONE: SYSTEM          EVENT_BODY: SQL    EVENT_DEFINITION: INSERT INTO event_message(message, generated_at) values('EVENT ALTERED', NOW())          EVENT_TYPE: ONE TIME          EXECUTE_AT: 2017-11-22 20:03:52 ... 阅读更多

如何将现有的 MySQL 事件移动到另一个数据库?

Manikanth Mani
更新于 2020-06-22 12:51:23

213 次浏览

它也可以通过 ALTER EVENT 语句来完成。我们需要结合数据库名称和事件名称以及 RENAME 关键字。为了说明这一点,我们以下面的例子为例,我们将名为“hello_renamed”的事件从“query”数据库移动到“tutorial”数据库:示例mysql> ALTER EVENT query.hello_renamed RENAME to tutorials.hello_renamed; Query OK, 0 rows affected (0.00 sec)为了确认事件已移动到“tutorials”数据库,我们可以尝试使用旧名称删除该事件,MySQL 将抛出如下错误:mysql> DROP event hello_renamed; ERROR 1539 (HY000): Unknown ... 阅读更多

广告