Mysql 的严格模式与松散模式设置

本文探讨了在MySQL使用松散模式时遇到的文章内容字段自动截断的问题,并提供了两种解决方案:一是开启MySQL的严格模式;二是更改MySQL字段类型。同时详细介绍了如何在MySQL配置文件中设置严格模式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

添加一个超长的文章的时候,文章内容字段被mysql截取后插入。

debug:程序插入的sql没有问题。只是给了一个警告

问题原因:mysql 使用了松散模式,造成自动截取。给debug带来困难,

解决办法:

1,开启mysql 严格模式,对开发有好处;

2,换mysql的字段类型


开启严格模式:

通过修改MySQL的配置文件,在配置文件中查找sql-mode,将此行修改成为:

sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

如果查找不到sql-mode=则在[mysqld]下加入即可

### MongoDB MySQL 的对比 #### 数据模型 MongoDB MySQL 展现出了不同的数据模型设计思路。MySQL 遵循严格的关系型数据模式,依赖于表格来组织数据,其中每一列都有固定的数据类型,并通过外键约束实现表间关联[^1]。相比之下,MongoDB 则采用了更加灵活的文档型数据模型,允许存储类似于 JSON 结构的对象,在同一集合内可以容纳不同字段组合的记录,这种特性赋予了开发者更大的自由度去适应快速变化的需求环境[^2]。 #### 查询方式 由于两者基于不同类型的数据表示方法,因此查询机制也有很大差别。对于 MySQL 而言,SQL(Structured Query Language)作为一种标准化的语言被广泛应用于构建复杂的查询逻辑;然而 SQL 并不适用于像 MongoDB 这样的 NoSQL 数据库系统上。相反,MongoDB 提供了一套面向对象风格的查询API,能够更直观地操作嵌入式文档结构中的数据。 #### 性能表现 关于性能方面,取决于具体的使用场景。当面对海量非结构化或半结构化的动态增长数据集时,MongoDB 凭借其内置的支持大规模分布式部署的能力以及高效的索引策略往往表现出色。特别是针对读密集型工作负载下的高并发访问需求,MongoDB 可以利用分片技术有效地分配流量到多个节点之上从而提升整体吞吐量[^3]。而在处理高度规范化的小规模关系型数据集时,经过优化后的 MySQL 同样具备良好的响应速度较低延迟特点。 #### 使用场景 选择合适的工具应当依据实际应用场景的要求来进行权衡考量。如果应用程序涉及频繁更新少量紧密相连的信息单元,则可能更适合采用 MySQL 来维护稳定可靠的一致性状态。而对于那些需要高效管理分析大量松散耦合且不断演变的内容源——比如社交媒体平台上的用户生成内容或是物联网设备产生的实时传感器测量值来说,MongoDB 显得更为理想[^4]。 ```python # Python 示例:连接并查询 MongoDB from pymongo import MongoClient client = MongoClient('mongodb://localhost:27017/') db = client['test_database'] collection = db['sample_collection'] result = collection.find_one({"name": "Alice"}) print(result) # 对比之下,这是如何执行简单 SELECT 操作的例子 (Python + MySQL) import mysql.connector connection = mysql.connector.connect( host='localhost', user='root', password='', database='test_db' ) cursor = connection.cursor() query = 'SELECT * FROM users WHERE name=%s;' cursor.execute(query, ('Alice',)) row = cursor.fetchone() print(row) ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值