找到 4219 篇文章 关于 MySQLi
190 次查看
众所周知,如果在数值表达式的评估期间发生溢出,MySQL 将产生错误。例如,最大的带符号 BIGNT 是 9223372036854775807,因此以下表达式将产生错误 −mysql> Select 9223372036854775807 + 1; ERROR 1690 (22003): BIGINT value is out of range in '(9223372036854775807+1)'MySQL 可以通过以下方式处理此类溢出:通过将值转换为无符号MySQL 通过将值转换为无符号来启用此类操作,如下所示 −mysql> Select CAST(9223372036854775807 AS UNSIGNED) +1; +------------------------------------------+ | CAST(9223372036854775807 AS UNSIGNED) +1 | +------------------------------------------+ | ... 阅读更多
580 次查看
MySQL 数值超出允许的列数据类型范围的处理方式取决于 SQL 模式,具体如下: (A) 启用严格 SQL 模式 - 当启用严格 SQL 模式时,MySQL 在输入超出范围的值时返回错误。在这种情况下,某些或所有值的插入都失败了。例如,我们创建了一个表,其中两列的数据类型分别是 TINYINT 和 UNSIGNED TINYINT。mysql> Create table counting(Range1 Tinyint, Range2 Tinyint Unsigned); Query OK, 0 rows affected (0.14 sec)现在,借助以下命令,我们启用了 ... 阅读更多
120 次查看
这可以通过一个示例来理解,在这个示例中,NULL 值已插入 AUTO_INCREMENT 列中,并且 MySQL 提供了一个新的序列号。mysql> Create table employeeinfo(id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, Name Varchar(10)); Query OK, 0 rows affected (0.16 sec) mysql> Insert into employeeinfo(id, Name) values(NULL, 'Saurabh'); Query OK, 1 row affected (0.07 sec) mysql> Select * from employeeinfo; +----+---------+ | id | Name | +----+---------+ | 1 | Saurabh | +----+---------+ 1 row in set (0.00 sec)从上面的示例可以看出,列“id”已被 ... 阅读更多
967 次查看
当我们将 NULL 值插入 AUTO_INCREMENT 列时,MySQL 将返回序列号。示例 mysql> Create table employee(id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, Name Varchar(10)); Query OK, 0 rows affected (0.16 sec) mysql> Insert into employee(id, Name) values(NULL, 'Gaurav'); Query OK, 1 row affected (0.07 sec) mysql> Select * from employee; +----+---------+ | id | Name | +----+---------+ | 1 | Gaurav | +----+---------+ 1 row in set (0.00 sec)
78 次查看
当我们在 MySQL 列上使用 AUTO_INCREMENT 时,序列号始终按升序递增,从默认值 1 或我们指定的值开始。这就是 MySQL 不允许将 AUTO_INCREMENT 值更改为小于当前序列号的值的原因。这可以通过以下示例来理解 −示例在这个示例中,假设我们有一个名为“emp1”的表,并且在创建表时我们将 AUTO_INCREMENT 值指定为 100。因此,在表中插入值后,序列将从 100 开始,如下所示 ... 阅读更多
72 次查看
MySQL 中的 CHAR_LENGTH() 或 CHARACTER_LENGTH() 字符串函数用于检索指定字符串的长度。此函数将简单地计算字符数,而忽略字符是单字节还是多字节。示例 mysql> Select CHAR_LENGTH('New Delhi'); +--------------------------+ | CHAR_LENGTH('New Delhi') | +--------------------------+ | 9 | +--------------------------+ 1 row in set (0.00 sec) mysql> Select CHAR_LENGTH('NewDelhi'); +-------------------------+ | CHAR_LENGTH('NewDelhi') | +-------------------------+ | 8 | +-------------------------+ 1 row in set (0.00 sec) mysql> Select CHARACTER_LENGTH('NewDelhi'); ... 阅读更多
378 次查看
当 CHAR_LENGTH() 或 CHARACTER_LENGTH() 字符串函数与 WHERE 子句一起使用时,它返回的输出将取决于 WHERE 子句中给定的条件。例如,假设我们有一个名为“Student”的表,我们只想获取字符数少于 6 的名称,那么我们可以编写以下查询 −mysql> Select * from Student; +------+---------+---------+-----------+ | Id | Name | Address | Subject | +------+---------+---------+-----------+ | 1 | Gaurav | Delhi | Computers | | 2 | Aarav | Mumbai | History | | 15 ... 阅读更多
299 次查看
将 ASCII() 函数与 WHERE 子句一起使用时,它返回的输出将取决于 WHERE 子句中给定的条件。例如,假设我们有一个名为“Student”的表,我们想要获取学生姓名首字母的数字代码(大于 65)。为此可以编写如下查询 −mysql> Select * from student; +------+---------+---------+-----------+ | Id | Name | Address | Subject | +------+---------+---------+-----------+ | 1 | Gaurav | Delhi | Computers | | 2 | Aarav | Mumbai | ... 阅读更多