找到 4379 篇 关于 MySQL 的文章

在同一起因和操作时间下,如何查看多个触发器的触发顺序信息?

karthikeya Boyini
更新于 2020 年 6 月 22 日 12:12:28

70 次浏览

可以通过下面的查询做到这一点 -mysql> SELECT trigger_name,action_order FROM INFORMATION_SCHEMA.triggers WHERE TRIGGER_SCHEMA = 'query' ORDER BY event_object_table,action_timing,event_manipulation; +------------------------------+--------------+ | trigger_name                 | action_order | +------------------------------+--------------+ | studentdetail_before_update  |            1 | | studentdetail_before_update2 |            2 | +------------------------------+--------------+ 在数据库“query”中为同一起因和操作时间创建的多个触发器的顺序如以上结果集所示。

如何让 MySQL 触发器执行多个语句?

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

774 次浏览

MySQL 触发器可以用 BEGIN…END 构造执行多个语句。在 BEGIN 块中,我们还可以使用存储过程允许的其他语法,例如条件语句和循环。为了说明这个概念,我们用下面的 BEFORE INSERT TRIGGER 例子来说明,其中包含 IF 条件语句 - 示例 mysql> Create Trigger before_inser_studentage BEFORE INSERT ON student_age FOR EACH ROW BEGIN IF NEW.age < 0 THEN SET NEW.age = 0; ELSEIF NEW.age > 100 THEN SET NEW.age = 100; END IF; END // 查询正常,0 行受影响 (0.30 秒)

如何将数字值作为十六进制 (HEX) 数字输入 MySQL 语句?

radhakrishna
更新于 2020 年 6 月 22 日 12:23:10

150 次浏览

以下介绍了两种在我们可以在 MySQL 语句中输入十六进制数字的方法 - 前缀“X” 在这种方法中,我们需要用 X 前缀将十六进制数字用单引号引起来。然后十六进制数字字符串将自动根据表达式的上下文转换为数字。例如: mysql> Select X'5152545678'+ 10; +-------------------+ | X'5152545678'+ 10 | +-------------------+ | 349273609858      | +-------------------+ 1 行集合(0.00 秒)前缀 0x 在这种方法中,我们需要在没有引号的情况下用 0x 前缀写十六进制数字。然后十六进制数字字符串将自动转换为数字。 ... 阅读更多

如何在 MySQL 语句中将字符输入为十六进制 (HEX) 数字?

mkotla
更新于 22-6-2020 12:25:02

881 次浏览

以下介绍了两种我们可以用作十六进制数字输入字符的方法 - 前缀“X” 在这种方法中,我们需要用 X 前缀将十六进制数字用单引号引起来。然后十六进制数字字符串将自动转换为字符串。例如: mysql> Select X'5152545678'; +---------------+ | X'5152545678' | +---------------+ | QRTVx         | +---------------+ 1 行集合(0.00 秒)前缀 0x 在这种方法中,我们需要在没有引号的情况下用 0x 前缀写十六进制数字。然后十六进制数字字符串将自动转换为字符串。例如: mysql> ... 阅读更多

如何在 MySQL 语句中转义特殊字符?

Nishtha Thakur
更新于 22-6-2020 12:24:08

995 次浏览

有时候我们需要在字符串中包含特殊字符,此时必须将它们转义或保护起来。我们需要遵循一些转义特殊字符的基本规则,如下所示 - 转义字符 (\) 可以转义为 (\) 例如: mysql> Select 'A\B'; +-----+ | A\B | +-----+ | A\B | +-----+ 1 行集合(0.00 秒)

如果我们为同一个事件和操作时间创建了多个触发器,MySQL 将以什么顺序调用它们?

Chandu yadav
更新于 22-6-2020 12:13:23

237 次浏览

在这种情况下,MySQL 将按创建顺序调用触发器。但是我们可以利用以下选项来更改顺序 - FOLLOWS 选项此选项允许新触发器在现有触发器之后激活。语法: FOR EACH ROW FOLLOWS trigger_name PRECEDES 选项此选项允许新触发器在现有触发器之前激活。语法: FOR EACH ROW PRECEDES trigger_name

如何为同一触发器事件和操作时间创建多个 MySQL 触发器?

Ayyan
更新于 22-6-2020 12:11:45

596 次浏览

MySQL 5.7.2+ 允许我们为表中的同一个事件和操作时间创建多个触发器。当事件发生时,这两个触发器会按顺序激活。我们可以通过一个示例来理解它 - 例如: 在此示例中,我们正在为同一个事件(假设是 BEFORE UPDATE)创建多个触发器。这些触发器的名称为“Studentdetail_before_update”和“Studentdetail_before_update2”。当发生事件时,它们会按顺序激活。我们在“Student_detail”表中创建了触发器,该表包含以下数据 - mysql> Select * from Student_detail; +-----------+-------------+------------+ | Studentid | StudentName | address    | +-----------+-------------+------------+ | 100     ... 阅读更多

为什么我们需要更改创建触发器的分隔符?

Swarali Sree
更新于 22-6-2020 12:15:45

470 次浏览

众所周知,在 MySQL 中,我们使用结束符分号 (;) 来结束所有语句。分号是 MySQL 中的默认结束符。而在创建触发器时,我们需要更改结束符以告诉 MySQL 这里不是触发器语句的结束,因为我们在触发器中可以使用多条语句。我们可以通过 DELIMITER // 语句临时更改结束符,将结束符从分号 (;) 更改为两个反斜杠 (//)。在此之后,MySQL 便会知道,仅当遇到两个反斜杠 (//) 时,触发语句才结束。示例如下... 阅读更多

如何检查除当前数据库之外其他数据库的表?

Giri Raju
2020 年 6 月 22 日 12:14:06 更新

81 浏览

借助以下 MySQL 命令,我们可以检查当前正在使用的数据库之外的其他数据库的表。Show Tables from Database_name;例如,当当前正在使用名为“new”的数据库时,以下查询会显示名为“gaurav”的数据库中表的列表。mysql> use new;数据库已更改 mysql> show tables from gaurav;+--------------------+ | Tables_in_tutorial | +--------------------+ | testing            | | employee           | | tender             | | Ratelist           | +--------------------+ set 中有 4 行 (0.00 秒)

如何以特定方式从 MySQL 表中获取记录集的记录?

Sreemaha
2020 年 6 月 22 日 12:16:48 更新

177 浏览

为了以特定方式(升序或降序)从 MySQL 表中获取记录集的记录,我们需要结合使用 ORDER BY 子句和 ASC 或 DESC 关键字。如果我们不使用上述任何关键字,则 MySQL 默认以升序返回记录。ORDER BY 子句根据特定字段(升序或降序)返回结果集,我们也将使用 ORDER BY 子句。假设我们要对下表的行进行排序。mysql> Select * from Student;+--------+--------+--------+ | Name   | ... 阅读更多

广告