- 浏览: 436223 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (267)
- java (8)
- 求职&面试 (1)
- linux (33)
- windows (1)
- C++ (5)
- android (12)
- QT (1)
- 经验 (1)
- memory-leaks (1)
- Streaming&V/A (1)
- network&security (5)
- SCM (13)
- mysql (10)
- browsers (4)
- Windows APIs (2)
- opensource (1)
- pm (1)
- GDI (1)
- database (14)
- MFC (1)
- web&fronts (17)
- Tomcat (4)
- OLE (1)
- 观后感 (1)
- Production (2)
- UML (3)
- Javascript (7)
- Cloud Computing&SAAS (5)
- SoftwareEngineering (1)
- Computer&Maintenance (1)
- Web (8)
- Desgin (1)
- J2ee (10)
- mysql cluster (0)
- LB&HA (2)
- webserver (11)
- php (5)
- cas&authtication (0)
- Languages (1)
- IDEs (3)
- architecture (2)
- iOS (8)
- spring (3)
- webservices (1)
- security (1)
- MVCFrameworks (2)
- bservices (0)
- build-tools (2)
- unittest (1)
- spring-security (0)
- sphinx (2)
- hibernate (1)
- mybatis (2)
- search (0)
- nginx (2)
- design&production (2)
- DFS (0)
- algorithm (0)
- distributed&network (0)
- blogs (0)
- os&admin (0)
- fastcgi (0)
- kv-db (0)
- operation&maintenance (1)
- productions (9)
- 养生 (1)
- appserver (1)
- HTTP (2)
- test (1)
- erlang (2)
- browser (0)
- 非技术 (2)
- mobiles (2)
- cloud computing (2)
- Business (2)
- maven (1)
- python (5)
- 人生 (0)
- Cryptography (3)
- CV (0)
- cms (2)
- jqm (2)
- html (2)
- flex (1)
- redmine (1)
- iptables (1)
- groovy (1)
- scala (1)
- grails (1)
- ftp (3)
- vsftpd (2)
- lua (0)
- chroot (3)
- jailkit (3)
- UED (0)
- myeclipse (2)
- ide (2)
- eclipse (2)
最新评论
-
Nick712:
http://blog.csdn.net/victory08/ ...
处理SVN出现:Cleanup failed to process the following paths: xxx -
xs6262460:
Spring AOP根据JdbcTemplate方法名动态设置数据源 -
xhpscdx:
我的解决办法是把D:\ACRS\Projects\TAIS 下 ...
处理SVN出现:Cleanup failed to process the following paths: xxx -
hnraysir:
总结得相当不错,支持下。
使用CodeIgniter 创建 RESTful 服务 REST API【原创译文】 -
云上太阳:
这个必须评论下,间接的救过俺的命啊
解决tomcat启动报错,加强错误日志的显示:
在MySQL 5.0.2之前,MySQL对非法或不当值并不严厉,而且为了数据输入还会强制将它们变为合法值。在MySQL 5.0.2和更高版本中,保留了以前的默认行为,但你可以为不良值选择更传统的处理方法,从而使得服务器能够拒绝并放弃出现不良值的语句。本节介绍了MySQL的默认行为(宽大行为),新的严格的SQL模式,以及它们的区别。
如果你未使用严格模式,下述情况是真实的。如果将“不正确”的值插入到列,如将NULL值插入非NULL列,或将过大的数值插入数值列,MySQL会将这些列设置为“最可能的值”,而不是生成错误信息。
· 如果试图将超范围的值保存到数值列,MySQL服务器将保存0(最小的可能值)取而代之,或最大的可能值。
· 对于字符串,MySQL或保存空字符串,或将字符串尽可能多的部分保存到列中。
· 如果打算将不是以数值开头的字符串保存到数值列,MySQL将保存0。
· MySQL允许将特定的不正确日期值保存到DATE和DATETIME列(如“2000-02-31”或“2000-02-00”)。其观点在于,验证日期不是SQL服务器的任务。如果MySQL能保存日期值并准确检索相同的值,MySQL就能按给定的值保存它。如果日期完全不正确(超出服务器能保存的范围)将在列中保存特殊的日期值“0000-00-00”取而代之。
· 如果试图将NULL值保存到不接受NULL值的列,对于单行INSERT语句,将出现错误。对于多行INSERT语句或INSERT INTO ... SELECT语句,MySQL服务器会保存针对列数据类型的隐含默认值。一般情况下,对于数值类型,它是0,对于字符串类型,它是空字符串(''),对于日期和时间类型是“zero”。
· 如果INSERT语句未为列指定值,如果列定义包含明确的DEFAULT子句,MySQL将插入默认值。如果在定义中没有这类DEFAULT子句,MySQL会插入列数据类型的隐含默认值。
采用前述规则的原因在于,在语句开始执行前,无法检查这些状况。如果在更新了数行后遇到这类问题,我们不能仅靠回滚解决,这是因为存储引擎可能不支持回滚。中止语句并不是良好的选择,在该情况下,更新完成了“一半”,这或许是最差的情况。对于本例,较好的方法是“仅可能做到最好”,然后就像什么都未发生那样继续。
在MySQL 5.0.2和更高版本中,可以使用STRICT_TRANS_TABLES或STRICT_ALL_TABLES SQL模式,选择更严格的处理方式。
STRICT_TRANS_TABLES的工作方式:
· 对于事务性存储引擎,在语句中任何地方出现的不良数据值均会导致放弃语句并执行回滚。
· 对于非事务性存储引擎,如果错误出现在要插入或更新的第1行,将放弃语句。(在这种情况下,可以认为语句未改变表,就像事务表一样)。首行后出现的错误不会导致放弃语句。取而代之的是,将调整不良数据值,并给出告警,而不是错误。换句话讲,使用STRICT_TRANS_TABLES后,错误值会导致MySQL执行回滚操作,如果可以,所有更新到此为止。
要想执行更严格的检查,请启用STRICT_ALL_TABLES。除了非事务性存储引擎,它与STRICT_TRANS_TABLES等同,即使当不良数据出现在首行后的其他行,所产生的错误也会导致放弃语句。这意味着,如果错误出现在非事务性表多行插入或更新过程的中途,仅更新部分结果。前面的行将完成插入或更新,但错误出现点后面的行则不然。对于非事务性表,为了避免这种情况的发生,可使用单行语句,或者在能接受转换警告而不是错误的情况下使用STRICT_TRANS_TABLES。要想在第1场合防止问题的出现,不要使用MySQL来检查列的内容。最安全的方式(通常也较快)是,让应用程序负责,仅将有效值传递给数据库。
有了严格的模式选项后,可使用INSERT IGNORE或UPDATE IGNORE而不是不带IGNORE的INSERT或UPDATE,将错误当作告警对待。
发表评论
-
Hash索引与B-Tree索引 介绍及区别 这是从《MySQL性能调优与架构设计》第六章摘录的一些知识点
2013-10-16 20:58 1003【MySQL索引】Hash索引与B-Tree索引 介绍及区别 ... -
mysql拷贝表的几种方式
2013-06-07 23:32 964mysql拷贝表的几种方式 在使用mysql数据库的 ... -
Understanding JDBC Internals & Timeout Configuration posted 11 months ago in Dev
2013-02-03 18:33 1225Understanding JDBC Internals & ... -
深入理解JDBC的超时设置
2013-02-03 18:25 981深入理解JDBC的超时设置 -
MYSQL增量备份
2012-11-19 23:43 0MYSQL增量备份 MYSQL增量备份 ... -
mysql 5.5 多实例安装小计
2012-10-31 00:42 0mysql更动端口 www.MyExcepti ... -
mysql性能优化-慢查询分析、优化索引和配置
2012-10-23 15:33 0mysql性能优化-慢查询分析、优化索引和配置 ... -
mysql innodb 性能优化
2012-10-23 12:45 0mysql innodb 性能优化 ... -
MySQL和PostgreSQL的比较
2012-10-21 00:02 992MySQL和PostgreSQL的比较 ... -
开源数据库 Sharding 技术 (Share Nothing)
2012-10-09 11:43 786开源数据库 Sharding 技术 (Share N ... -
为powerdesigner添加mysql的字符集支持
2012-09-18 09:49 878一般建模可能都会用到:po ... -
Java,JDBC和MySQL类型--MySql数据库 博客分类: 基础 MySQLJavaJDBCSQLJ# MySQL Connector/J在处理My
2012-09-17 00:09 1109Java,JDBC和MySQL类型--MySql数 ... -
PowerDesigner 实用技巧
2012-09-06 15:48 0、PowerDesigner使用MySQL的 ... -
PowerDesigner一些小技巧
2012-09-06 15:42 0PowerDesigner一些小技巧 使用 ... -
使用POWERDESIGNER设计数据库的20条技巧
2012-09-06 15:09 1110使用POWERDESIGNER设计 ... -
MySQL 表名/列名 大小写问题
2012-09-05 11:54 1040MySQL 表名/列名 大小写问题 ... -
Using an Example of Sharding with Hibernate
2012-09-05 01:06 0Using an Example of Sh ... -
也谈数据库拆分database sharding
2012-09-05 01:03 0也谈数据库拆分data ... -
轻量级分布式数据库访问层amoeba,cobarClient试用感受
2012-09-05 00:58 3547轻量级分布式数据 ... -
分库分表(sharding)后主键全局唯一性的解决方案
2012-09-05 00:24 1002分库分表(sharding)后主键全局唯一性的解决方 ...
相关推荐
mysql的数据约束,包含mysql的常见约束,适合新手查看
Mysql测试数据。Mysql测试数据。Mysql测试数据。Mysql测试数据。Mysql测试数据。Mysql测试数据。Mysql测试数据。Mysql测试数据。Mysql测试数据。Mysql测试数据。Mysql测试数据。Mysql测试数据。Mysql测试数据。Mysql...
搞定难点MySQL神秘的约束机制
一个mysql数据库数据同步至oracle数据库代码,同时修改mysql数据表标识。
mysql 导出数据词典,word,html
这些约束能够保证数据库中的数据完整性和一致性,防止出现无效或冲突的数据。在设计数据库结构时,合理应用这些约束将提高数据质量,并方便后续的查询和操作。请根据您的具体需求选择适合的约束类型,并参考示例代码...
本地简单kettle抽MySQL数据到ES中 案例.zip本地简单kettle抽MySQL数据到ES中 案例.zip 本地简单kettle抽MySQL数据到ES中 案例.zip本地简单kettle抽MySQL数据到ES中 案例.zip 本地简单kettle抽MySQL数据到ES中 案例....
SQL数据集
mysql
MySQL30W测试数据 MySQL30W测试数据 MySQL30W测试数据 MySQL30W测试数据
mysql_约束的使用
datax数据从hive表导入mysql表,数据缺失解决
mysql历史数据同步到clickhouse 已测试
mysql测试数据新闻数据城市数据
mysql数据库字段约束
一个完整的字段包括字段名、数据类型和约束条件。MySQL 添加字段的语法格式如下: ALTER TABLE <表名> ADD <新字段名><数据类型>[约束条件]; 对语法格式的说明如下: <表名> 为数据表的名字; <新字段名> 为所要...
由于开发工具查看结构不便利,可利用该工具将mysql 表结构 视图 函数 过程 事件 导出为HTML格式,方便开发人员查阅
MySQL数据库的创建、查看、删除、使用命令。 表结构创建和修改、表约束的创建和修改; 表数据的插入、删除和修改; 表联系的创建和修改。
目录 如何统计MySQL数据量大小 CONCAT函数解读 换汤不换药,对所有库的查询 information_schem库 performance_schema库
mysql导出数据文件 mysql导出数据文件 数据库