【MYSQL If语句在事务中导致错误】教程文章相关的互联网学习教程文章

MySQL的SQL语句 - 数据定义语句(4)- ALTER FUNCTION 语句【图】

ALTER FUNCTION 语句此语句可用于更改存储函数的特性。一个ALTER FUNCTION语句中可以指定多个更改。但是,不能使用此语句更改存储函数的参数或主体;要进行此类更改,必须使用DROP FUNCTION 和 CREATE FUNCTION删除并重新创建函数。 必须具有该函数的ALTER ROUTINE权限才能执行(该权限自动授予函数创建者)。如果启用了二进制日志记录,ALTER FUNCTION 语句可能还需要SUPER权限。 ALTER INSTANCE 语句ALTER INSTANCE定义了适用于M...

MySQL的SQL语句 - 数据定义语句(5)- ALTER LOGFILE GROUP 语句【图】

ALTER LOGFILE GROUP 语句此语句将名为‘file_name‘的 UNDO 文件添加到现有日志文件组logfile_group中。ALTER LOGFILE GROUP语句只有一个ADD UNDOFILE子句,当前不支持DROP UNDOFILE子句。 注意 所有NDB集群磁盘数据对象共享同一命名空间。这意味着每个磁盘数据对象必须具有唯一的名称(而不仅仅是给定类型的每个磁盘数据对象)。例如,不能有同名的表空间和撤销日志文件,也不能有同名的撤销日志文件和数据文件。 可选参数INITIA...

MySQL的SQL语句 - 数据操作语句(9)- LOAD DATA 语句(2)【代码】

列列表规范 以下示例加载 persondata 表的所有列: 1. LOAD DATA INFILE ‘persondata.txt‘ INTO TABLE persondata; 默认情况下,当 LOAD DATA 语句末尾未提供列列表时,输入行应包含表的每个字段。如果只想加载表的某些列,请指定字段列表: 1. LOAD DATA INFILE ‘persondata.txt‘ INTO TABLE persondata 2. (col_name_or_user_var [, col_name_or_user_var] ...); 如果输入文件中字段的顺序与表中列的顺序不同,也必须要指定列...

MySQL的SQL语句 - 数据操作语句(9)- LOAD DATA 语句(2)【代码】

列列表规范 以下示例加载 persondata 表的所有列: 1. LOAD DATA INFILE ‘persondata.txt‘ INTO TABLE persondata; 默认情况下,当 LOAD DATA 语句末尾未提供列列表时,输入行应包含表的每个字段。如果只想加载表的某些列,请指定字段列表: 1. LOAD DATA INFILE ‘persondata.txt‘ INTO TABLE persondata 2. (col_name_or_user_var [, col_name_or_user_var] ...); 如果输入文件中字段的顺序与表中列的顺序不同,也必须要指定列...

MySQL的SQL语句 - 数据定义语句(14)- CREATE TABLE 语句 (1)【代码】

CREATE TABLE 语句 1. CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name 2. (create_definition,...) 3. [table_options] 4. [partition_options] 5. 6. CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name 7. [(create_definition,...)] 8. [table_options] 9. [partition_options] 10. [IGNORE | REPLACE] 11. [AS] query_expression 12. 13. CREATE [TEMPORARY] TABLE [IF NOT EXISTS] t...

MySQL的SQL语句 - 数据定义语句(14)- CREATE TABLE 语句 (3)【代码】

表选项 表选项用于优化表的行为。在大多数情况下,不必指定这些选项。除非另有说明,否则这些选项适用于所有存储引擎。不适用于给定存储引擎的选项也可以作为表定义的一部分。如果以后使用 ALTER TABLE 将表转换为使用其他存储引擎,则应用这些选项。 ● ENGINE 使用下表中显示的名称指定表的存储引擎。引擎名称可以不加引号或用引号引起来。可以识别名称 ‘DEFAULT‘ 但会忽略它。存储引擎 描述InnoDB 具有行锁定和外键的事务安全...

MySQL的SQL语句 - 数据定义语句(14)- CREATE TABLE 语句 (8)【代码】

CHECK 约束 在 MySQL 8.0.16 之前,CREATE TABLE 只允许以下有限功能版本的表 CHECK 约束语法,它被解析并忽略: 1. CHECK (expr) 从 MySQL 8.0.16 开始,CREATE TABLE 支持表和列 CHECK 约束的核心功能,适用于所有存储引擎。对于表约束和列约束,CREATE TABLE 允许以下 CHECK 约束语法: 1. [CONSTRAINT [symbol]] CHECK (expr) [[NOT] ENFORCED] 可选项 symbol 指定约束的名称。如果省略,MySQL 将从表名、字面量 chk 和一个序数(...

MySQL的SQL语句 - 数据操作语句(13)- 子查询(9)【代码】

派生表 派生表是一个表达式,在查询 FROM 子句范围内生成一个表。例如,SELECT 语句 FROM 子句中的子查询是派生表: 1. SELECT ... FROM (subquery) [AS] tbl_name ... JSON_TABLE() 函数生成一个表,并提供另一种创建派生表的方法: 1. SELECT * FROM JSON_TABLE(arg_list) [AS] tbl_name ... [AS] tbl_name 子句是必需的,因为 FROM 子句中的每个表都必须有一个名称。派生表中的任何列都必须具有唯一的名称。或者,tbl_name 后面...

MySQL的SQL语句 - 数据操作语句(12)- SELECT 语句(4)【代码】

UNION 子句 1. SELECT ... 2. UNION [ALL | DISTINCT] SELECT ... 3. [UNION [ALL | DISTINCT] SELECT ...] UNION 将来自多个 SELECT 语句的结果组合到一个结果集中。例子: 1. mysql> SELECT 1, 2; 2. +---+---+ 3. | 1 | 2 | 4. +---+---+ 5. | 1 | 2 | 6. +---+---+ 7. mysql> SELECT ‘a‘, ‘b‘; 8. +---+---+ 9. | a | b | 10. +---+---+ 11.| a | b | 12. +---+---+ 13. mysql> SELECT 1, 2 UNION SELECT ‘a‘, ‘b‘; 14...

MySQL的SQL语句 - 数据操作语句(12)- SELECT 语句(2)【代码】

SELECT ... INTO 语句 SELECT 的 SELECT ... INTO 形式将查询结果存储在变量中或写入文件: SELECT ... INTO var_list 选择列值并将它们存储到变量中。 SELECT ... INTO OUTFILE 将所选行写入文件。可以指定列和行终止符以生成特定的输出格式。 SELECT ... INTO DUMPFILE 在没有任何格式的情况下将单行写入文件。 给定的 SELECT 语句最多可以包含一个 INTO 子句,但如 SELECT 语法描述所示,INTO 可以出现在不同的位置: ● 在 FRO...

MySQL的SQL语句 - 数据操作语句(12)- SELECT 语句(3)【代码】

JOIN 子句 MySQL 对 SELECT 语句和多表 DELETE 和 UPDATE 语句 table_references 部分支持以下 JOIN 语法:1. table_references: 2. escaped_table_reference [, escaped_table_reference] ... 3. 4. escaped_table_reference: { 5. table_reference 6. | { OJ table_reference } 7. } 8. 9. table_reference: { 10. table_factor 11. | joined_table 12. } 13. 14. table_factor: { 15. tbl_name [PART...

MySQL的SQL语句 -事务性语句和锁定语句(1)【代码】

事务性语句和锁定语句 START TRANSACTION、COMMIT 和 ROLLBACK 1. START TRANSACTION 2. [transaction_characteristic [, transaction_characteristic] ...] 3. 4. transaction_characteristic: { 5. WITH CONSISTENT SNAPSHOT 6. | READ WRITE 7. | READ ONLY 8. } 9. 10. BEGIN [WORK] 11. COMMIT [WORK] [AND [NO] CHAIN] [[NO] RELEASE] 12. ROLLBACK [WORK] [AND [NO] CHAIN] [[NO] RELEASE] 13. SET autocommi...

MySQL的SQL语句 -事务性语句和锁定语句(3)- SAVEPOINT【代码】

SAVEPOINT、ROLLBACK TO SAVEPOINT 和 RELEASE SAVEPOINT 语句 1. SAVEPOINT identifier 2. ROLLBACK [WORK] TO [SAVEPOINT] identifier 3. RELEASE SAVEPOINT identifier InnoDB 支持 SQL 语句 SAVEPOINT、ROLLBACK TO SAVEPOINT、RELEASE SAVEPOINT 和用于 ROLLBACK 的可选 WORK 关键字。 SAVEPOINT 语句设置一个名为 identifier 的事务保存点。如果当前事务具有同名的保存点,则删除旧的保存点并设置新的保存点。 ROLLBACK TO S...

MySQL的SQL语句事务性语句和锁定语句(4)LOCK INSTANCEFORBACKUP 等语句【代码】

LOCK INSTANCE FOR BACKUP 和 UNLOCK INSTANCE 语句 1. LOCK INSTANCE FOR BACKUP 2. 3. UNLOCK INSTANCE LOCK INSTANCE FOR BACKUP 获取实例级备份锁,该锁允许在联机备份期间使用 DML 语句,同时防止可能导致快照不一致的操作。 执行 LOCK INSTANCE FOR BACKUP 语句需要 BACKUP_ADMIN 权限。在执行从早期版本到 MySQL 8.0 的就地升级时,具有 RELOAD 权限的用户将自动获得 BACKUP_ADMIN 权限。 多个会话可以同时持有一个备份锁。...

MySQL的SQL语句事务性语句和锁定语句5LOCKTABLES和UNLOCKTABLES 语句2【代码】

表锁释放 当一个会话持有的表锁被释放时,它们将同时被释放。会话可以显式释放锁,也可以在某些条件下隐式释放锁。 ● 会话可以通过 UNLOCK TABLES 语句显式释放锁。 ● 如果会话在已经持有锁的情况下发出 LOCK TABLES 语句以获取锁,则在授予新锁之前,将隐式释放其现有锁。 ● 如果会话开始一个事务(例如,使用 START TRANSACTION),会隐式执行 UNLOCK TABLES 释放现有锁。 如果客户端会话连接终止,无论是正常终止还是异常终止...

错误 - 相关标签