我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL中默认的sql_mode有什么坏处

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL中默认的sql_mode有什么坏处

这篇文章主要讲解了“MySQL中默认的sql_mode有什么坏处”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL中默认的sql_mode有什么坏处”吧!

默认模式,是非严格模式,插入的字段比定义的字段长会自动截取,也不报错,产生数据混乱。
root@test 09:13:09>select @@sql_mode;
+------------------------+
| @@sql_mode             |
+------------------------+
| NO_ENGINE_SUBSTITUTION |
+------------------------+
1 row in set (0.00 sec)

root@test 09:41:54>desc test;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(11)     | YES  |     | NULL    |       |
| name  | varchar(10) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)


root@test 09:46:28>insert into test values(12, '11111111111111111111111');
Query OK, 1 row affected, 1 warning (0.02 sec)


root@test 09:47:19>select * from test;
+------+------------+
| id   | name       |
+------+------------+
|    1 | aa11       |
|    2 | 1234       |
|    3 | Ab         |
|    3 | ab         |
|   12 | 1111111111 |
+------+------------+

2. 所以需要设置为traditional模式,意味着是传统的数据库模式,它的反应也是跟oracle和sql server 相同的处理方式。
root@test 09:46:53>set sql_mode='traditional,NO_ENGINE_SUBSTITUTION';
Query OK, 0 rows affected (0.00 sec)

--字段超长会报错
root@test 09:47:15>insert into test values(12, '11111111111111111111111');
ERROR 1406 (22001): Data too long for column 'name' at row 1

所以我们的应用由传统的数据库oracle转向mysql时, 最好配置sql_mode='traditional,NO_ENGINE_SUBSTITUTION', 这样不会出现一些奇怪陌生的行为。

感谢各位的阅读,以上就是“MySQL中默认的sql_mode有什么坏处”的内容了,经过本文的学习后,相信大家对MySQL中默认的sql_mode有什么坏处这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL中默认的sql_mode有什么坏处

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

mysql中的默认值是什么意思

mysql 中的默认值是当插入操作未指定列值时,数据库自动赋予的预先定义值,用于确保数据一致性、简化数据输入和防止无效/空值。默认值可在创建表或列时通过 default 关键字设置,支持常量值、表达式和 null 等类型。mysql 还提供
mysql中的默认值是什么意思
2024-05-01

mysql中sql_mode的作用是什么

sql_mode是MySQL中的一个系统变量,用于控制MySQL对SQL语句的执行和处理的模式。它的作用主要有以下几个方面:严格模式:sql_mode可以设置为严格模式,如"STRICT_ALL_TABLES"。在严格模式下,MySQL会更
mysql中sql_mode的作用是什么
2024-04-09

mysql的默认密码是什么

mysql 的默认密码根据安装选项和版本而异,常见默认密码包括空密码、"root" 和 "mysql"。建议在首次安装后立即更改默认密码,以提高安全性。MySQL 默认密码MySQL 的默认密码与安装选项和版本有关。在没有指定密码时,不同
mysql的默认密码是什么
2024-08-01

mysql中sql_mode的用法是什么

在MySQL中,sql_mode是一个会话级别的变量,它用于控制MySQL对SQL语句的处理方式。sql_mode可以设置多个参数组成的字符串,每个参数之间使用逗号分隔。sql_mode的主要作用有以下几个方面:控制MySQL对于无效数据
mysql中sql_mode的用法是什么
2024-04-09

MySQL 表中的默认排序顺序是什么?

MySQL 表中的默认排序顺序是升序。每当我们使用 ORDER BY 子句对表中的行进行排序时,MySQL 都会按升序给出输出,最小值在前。考虑以下来自名为“student”的表的示例 -mysql> Select * from stude
2023-10-22

mysql中的默认值怎么修改

要修改MySQL中的默认值,可以使用ALTER TABLE语句。以下是一个示例:```ALTER TABLE table_name ALTER COLUMN column_name SET DEFAULT new_default_value
2023-09-05

mysql默认值设置的方法是什么

在 MySQL 中设置默认值的方法是在创建表时,在字段定义后使用 DEFAULT 关键字,并指定默认值。例如:CREATE TABLE employees (id INT PRIMARY KEY,name VARCHAR(50),depa
mysql默认值设置的方法是什么
2024-04-09

MySQL默认账号密码的规则是什么?

MySQL数据库的默认账号是"root",默认密码为空,当我们第一次安装MySQL数据库时,会使用默认账号和空密码登录。但是为了加强数据库的安全性,建议在安装完成后立即修改默认密码或创建新的账号,并设置密码。以下是一些常用的方法来修改My
MySQL默认账号密码的规则是什么?
2024-03-02

mysql设置字段默认值的方法是什么

在MySQL中,可以使用ALTER TABLE语句来设置字段的默认值。具体步骤如下:打开MySQL命令行或者MySQL客户端工具。连接到目标数据库。使用ALTER TABLE语句来修改表结构并设置字段的默认值。语法如下:ALTER TAB
mysql设置字段默认值的方法是什么
2024-02-29

编程热搜

目录