原文:sql点滴37—mysql中的错误Data too long for column '' at row 1
1、MYSQL服务
我的电脑——(右键)管理——服务与应用程序——服务——MYSQL——开启(停止、重启动)
2、命令行方式
Windows
1.点击“开始”->“运行”(快捷键Win+R)。
2.启动:输入 net stop mysql
3.停止:输入 net start mysql
提示* Redhat Linux 也支持service command,启动:# service mysqld start 停止:# service mysqld stop 重启:# service mysqld restart
* Windows下不能直接重启(restart),只能先停止,再启动。
3、Too many connections
2008-04-30┆379,578 Views┆56,071
问题分析:
连接数超过了 MySQL 设置的值,与 max_connections 和 wait_timeout 都有关系。wait_timeout 的值越大,连接的空闲等待就越长,这样就会造成当前连接数越大。
解决方法:
1、虚拟主机用户请联系空间商优化 MySQL 服务器的配置;
2、独立主机用户请联系服务器管理员优化 MySQL 服务器的配置,可参考:
修改 MySQL 配置文件(Windows下为 my.ini, Linux下为 my.cnf )中的参数:
- CODE: [COPY]
- max_connections= 1000
- wait_timeout = 5
如果没有可以自行添加,修改后重启 MySQL ,如果经常性的报此错误,请您按照服务器环境搭建教程检查下你的服务器
4. mysql语句中的参数
注意mysql中的参数
$sql = "update GsArticle
set BusinessId='$BusinessId',SolutionId='$SolutionId',ServiceId='$ServiceId',
AboutId='$AboutId',ArticleTitle='$ArticleTitle',ArticleBody='$ArticleBody',CreateTime=now()
where Id='$Id'";
这个眼睛一定要看清楚了不能写成where Id='@Id' 话说这是sql server中的写法,我以为都一样呢,还有这里参数都加个单引号是嘛原因呢。这个是字符串类型的时候要加单引号,数字类型的不需要加。
比如:数据表中有一个字段A,他的类型是(int、bigint等)数字类型
那么: A = '12'这样写是错误的,因为数字类型字段,不能插入或者赋值字符串类型的值
而如果A字段是文本类型等字段,则文本数字都可以插入
语法中,加引号,就表示所提供的值就字符串文本类型,不加则表示是数字类型