php程序插数据入mysql, 插入失败问题
注意:引用"肥占的博客 http://fatjames.extjs.org.cn/archives/40"
mysql5.x sql-mode 引起的错误
今天安装了个mysql5.0,拿了一个很久之前网上下的程序检查一下是否工作正常.
发现以前的程序居然不能正常运行,提示信息如下:
Database error: Invalid SQL: INSERT INTO
Survey_UserHistory(userId,jobId,type,action,startTime,endTime)
VALUES(‘17′,”,’User’,'Login’,”,’2008-11-23 14:33:56′)
MySQL error: 1366 (Incorrect integer value: ” for column ‘jobId’ at row 1)
Session halted.
第一时间的反应是跟mysql5.0新加的sql-mode有关系,因为前一阵子刚刚看过手册.果然,作了如下更改后就不再提示了.
修改 my.ini 文件.
# Set the SQL mode to strict
sql-mode=”STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”
改为:
# Set the SQL mode to strict
sql-mode=”NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”
相关文档:
1. 创建索引
$ sudo /usr/local/bin/indexer --config /usr/local/etc/sphinx.conf --all
Sphinx 0.9.7
Copyright (c) 2001-2007, Andrew Aksyonoff
using config file '/usr/local/etc/sphinx.conf'...
indexing index 'catalog'...
collected 8 docs, 0.0 MB
sorted 0.0 Mhits, 82.8% done
total 8 docs, 149 byt ......
说明: 在MYSQL中,如果使用缺省的字符集,在建库、建表时,默认使用的是latin1字符集,
为ISO 8859-1西欧字符集。插入中文字符时,与之不匹配,就会出现乱码。
【解决方案】
1. 打开文件: C:\Program Files\MySQL\MySQL Server 5.0\my.ini;
2. 将其中的default-character-set=latin1改为default-character-set=gb2312,
......
解决乱码最好的方法是在项目设计之初,统一所有的字符集,例如页面、request对象以及数据库等等。
一、
几种常见的乱码现象:
1、页面乱码
单纯的页面乱码是很好解决的,只要修改头部适合的字符集即可,如果页面中文显示乱码,你可以把字符集修改为:gb2312或gbk。
2、
页面之间传递的参 ......
查看数据库版本 select version(), current_date();
显示数据库用 show databases;
选择某个数据库用use db_1;
创建数据库用create db_1;
插入数据用insert into db_1 values(...);
显示当前选择的数据库用select database();
创建表用create table tb_1 (...);
显示所有表用show tables;
显示某个表的所有内 ......