MySQL 严格模式 sql_mode
虽然说我们尽量在写程序的时候控制插入到数据库的数据,而不要用数据库去判断数据的对错,但是有时候为了方便还是需要数据库自身的容错能力来帮助我们达到目的的。举例说明:
创建如下数据表
CREATE TABLE `book` (
`id` int(11) default NULL,
`num` int(11) unsigned default NULL
) ENGINE=InnoDB DEFAULT CHARSET=gbk
insert into bookvalues(1,0),(2,0)
执行update book set num='abc',竟然不报错,原因是没有启用严格模式。所以
先执行set sql_mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION",
然后执行update book set num='abc',数据库就报错了
如果想一劳永逸,那就直接把数据库配置文件my.ini中的相关参数设置为
# Set the SQL mode to strict
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
相关文档:
文章出处:http://www.diybl.com/course/7_databases/mysql/myxl/20081127/152723.html
设计好MySql的索引可以让你的数据库飞起来,大大的提高数据库效率。设计MySql索引的时候有一下几点注意:
1,创建索引
对于查询占主要的应用来说,索引显得尤为重要。很多时候性能问题很简单的就是因为我们忘了添加索引而造成的, ......
一、安装
#
yum -y install mysql-server
二、配置
# vi /etc/my.cnf ← 编辑MySQL的配置文件
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility pack ......
有以下二张表:
政党表:政党ID,政党名称
议员表:议员ID,议员名称,政党ID
要求查询所有的政党信息,包含:政党名称,议员人数,并按议员人数的降序排列(不可以用子查询)。
正解:
SELECT a.name,
COUNT(b.id) AS counts
from zhen a
left join
yi b
on a.id=b.zhenid
GROUP ......
用SQL生成流水号
转:韦江涛 发表于2010年02月03日 09:38 阅读(4) 评论(0)
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[fn_FillNumberWithZero]') and xtype in (N'FN', N'IF', N'TF'))
drop function [dbo].[fn_FillNumberWithZero]
GO
if exists ( ......
昨天用脚本连接数据库时出现了用户登录被拒绝的提示,当然是远程连接Mysql。从网上查查发现是没有远程登录的权限。用时
用:grant all on *.* to 'user'@'192.168.XX.XX' identified by 'password';
在使用这个密令前首先要用root用户登录到需要远程访问的数据库上,然后在修改权限。 ......