找到 4219 篇文章 适用于 MySQLi

如何在 MySQL ENUM 数据类型中插入默认值?

usharani
更新于 2020-06-20 09:07:21

3K+ 浏览量

我们可以借助 ENUM 数据类型的 DEFAULT 属性来实现。DEFAULT 属性使 ENUM 数据类型在未指定值时具有默认值。换句话说,我们可以说 INSERT 语句不必为此字段包含值,因为如果它不包含,则将插入 DEFAULT 后面的值。DEFAULT 表达式中不允许使用函数。对于 ENUM 数据类型,DEFAULT 值包括 NULL 和空字符串('')。示例mysql> Create table enum123(Rollno INT, Name Varchar(20), result ENUM('Pass', 'Fail') DEFAULT 'Fail'); ... 阅读更多

为什么我们不应该将数字存储到 MySQL ENUM 列中?

Jennifer Nicholas
更新于 2020-06-20 08:59:29

1K+ 浏览量

MySQL 在内部将 ENUM 值存储为整数键(索引号)来引用 ENUM 成员。不将整数值存储在 ENUM 列中的主要原因是,很明显 MySQL 最终会引用索引而不是值,反之亦然。示例以下示例可以阐明它 -mysql> Create table enmtest(Val ENUM('0', '1', '2')); Query OK, 0 rows affected (0.18 sec) mysql> Insert into enmtest values('1'), (1); Query OK, 2 rows affected (0.19 sec) Records: 2 Duplicates: 0 Warnings: 0 mysql> Select * from enmtest; +-----+ | Val | +-----+ | 1   | | 0 ... 阅读更多

如果作为参数提供的索引号不是整数,则 MySQL ELT() 函数的输出是什么?

Alankritha Ammu
更新于 2020-06-20 08:56:38

78 浏览量

众所周知,ELT() 函数的第一个参数必须是整数值,但是当我们提供不是整数的索引号时,MySQL ELT() 函数会返回 NULL 并发出警告。示例mysql> select ELT('one','Ram,is,good,boy')As Result; +--------+ | Result | +--------+ | NULL   | +--------+ 1 row in set, 1 warning (0.00 sec) mysql> Show Warnings; +---------+------+------------------------------------------+ | Level   | Code | Message                                  | +---------+------+------------------------------------------+ | Warning | 1292 | Truncated incorrect INTEGER value: 'one' | +---------+------+------------------------------------------+ 1 row in set (0.00 sec)

如何在表达式中使用 MySQL 中的枚举值?

varun
更新于 2020-02-03 05:48:16

110 浏览量

众所周知,枚举值与索引值相关联,因此,如果我们在表达式中使用枚举值,则所有计算都将在索引号上进行。以下示例将阐明它 -mysql> Select * from Result; +-----+--------+-------+ | Id  | Name   | Grade | +-----+--------+-------+ | 100 | Gaurav | GOOD  | | 101 | Rahul  | POOR  | | 102 | Rahul  | NULL  | | 103 | Mohan  |       | +-----+--------+-------+ 4 rows in set (0.00 sec) mysql> Select SUM(Grade) from result; +------------+ | SUM(Grade) | +------------+ ... 阅读更多

如果作为参数提供的索引号大于字符串数,则 MySQL ELT() 函数返回什么?

karthikeya Boyini
更新于 2020-06-20 08:48:29

77 浏览量

如果作为参数提供的索引号大于字符串数,则 MySQL ELT() 函数返回 NULL 作为输出。以下是一个示例,使它更清楚 -示例mysql> Select ELT(6,'Ram','is','a','good','boy')As Result; +--------+ | Result | +--------+ | NULL   | +--------+ 1 row in set (0.00 sec)如我们所见,索引号为 6,字符串列表仅包含 5 个字符串。因此,MySQL 返回 NULL。

在 MySQL 中,FIELD() 函数与 FIND_IN_SET() 函数有何不同?

Arjun Thakur
更新于 2020-06-20 08:49:28

1K+ 浏览量

众所周知,这两个函数都用于从提供的参数中搜索字符串,但它们之间存在一些显着差异,如下所示 -FIND_IN_SET() - 函数使用字符串列表,该列表本身是一个包含以逗号分隔的子字符串的字符串。而 FIELD() 函数包含不同的字符串列表,它将在其中找到要搜索的字符串的索引号(如果存在)。FIND_IN_SET() - 函数如果任何参数(即搜索字符串或字符串列表)为 NULL,则返回 NULL。相反,FIELD() 函数不会返回 NULL,而是返回 ... 阅读更多

MySQL FIND_IN_SET() 函数何时返回 NULL 作为输出?

Swarali Sree
更新于 2020-06-20 08:46:53

255 浏览量

如果任何参数(即搜索字符串或字符串列表)为 NULL,则 FIND_IN_SET() 函数返回 NULL 作为输出。当然,如果这两个参数都为 NULL,它也会返回 NULL。示例mysql> Select FIND_IN_SET(NULL,'Ram is a good boy') AS Result; +--------+ | Result | +--------+ | NULL   | +--------+ 1 row in set (0.00 sec) mysql> SELECT FIND_IN_SET('RAM',NULL)AS RESULT; +--------+ | RESULT | +--------+ | NULL   | +--------+ 1 row in set (0.00 sec) mysql> SELECT FIND_IN_SET(NULL,NULL); +------------------------+ | FIND_IN_SET(NULL,NULL) | +------------------------+ |                   NULL | +------------------------+ 1 row in set (0.00 sec)

如何将 FIND_IN_SET() 函数与 MySQL WHERE 子句一起使用?

Arushi
更新于 2020-06-20 08:45:16

1K+ 浏览量

当我们在 WHERE 子句中使用 FIND_IN_SET() 函数时,它会在参数中指定的给定字符串内搜索搜索字符串,并从相关行的所有列中检索所有列。以下是一个演示它的示例 -示例在此示例中,我们从“Student”表中获取列,其中行具有“Gaurav”的名称值。这里,FIND_IN_SET() 函数将从列“Name”的值中搜索搜索字符串“Gaurav”。mysql> Select Id, Name, Address, Subject from student WHERE FIND_IN_SET('Gaurav', Name); +------+--------+---------+-----------+ | Id   | Name   | Address | Subject   | +------+--------+---------+-----------+ ... 阅读更多

如果我们在 FIELD() 函数中作为参数提供的字符串列表中组合了 NULL 和其他值,则对 MySQL 输出有什么影响?

Sai Subramanyam
更新于 2019-07-30 22:30:21

64 浏览量

如果我们在 FIELD() 函数中作为参数提供的字符串列表中组合了 NULL 和其他值,则输出将发生重大变化。以下示例将演示它示例 mysql> Select FIELD('good', 'Ram', 'is', 'good', 'boy'); +---------------------------------------+ | FIELD('good', 'Ram', 'is', 'good', 'boy') | +---------------------------------------+ | 3 | +---------------------------------------+ 1 row in set (0.00 sec) ... 阅读更多

如果我将无效值插入 ENUM,MySQL 会返回什么?

Vrundesha Joshi
更新于 2020-01-30 07:34:53

598 浏览量

如果 strict SQL 模式已禁用,并且我们将无效值(不在允许的枚举值列表中)插入 ENUM,则 MySQL 将插入空字符串而不是抛出错误。但是,如果启用了 strict SQL 模式,则 MySQL 在插入无效值时会抛出错误。示例在禁用 strict SQL 模式后,我们将无效字符串插入 ENUM,如下所示 -mysql> Insert into result(id, name, grade) values(100, 'Gaurav', 'abcd'); Query OK, 1 row affected, 1 warning (0.03 sec) mysql> Select * from result; +-----+--------+-------+ | Id | Name    | Grade | +-----+--------+-------+ | ... 阅读更多

广告

© . All rights reserved.