首页 > 代码库 > sql点滴37—mysql中的错误Data too long for column '' at row 1

sql点滴37—mysql中的错误Data too long for column '' at row 1

原文: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

错误编号:1040

问题分析:

连接数超过了 MySQL 设置的值,与 max_connections 和 wait_timeout  都有关系。wait_timeout 的值越大,连接的空闲等待就越长,这样就会造成当前连接数越大。

解决方法:

1、虚拟主机用户请联系空间商优化 MySQL 服务器的配置;

2、独立主机用户请联系服务器管理员优化 MySQL 服务器的配置,可参考:

修改 MySQL 配置文件(Windows下为 my.ini, Linux下为 my.cnf )中的参数:

  • CODE: [COPY]
  • max_connections1000
  • 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字段是文本类型等字段,则文本数字都可以插入
语法中,加引号,就表示所提供的值就字符串文本类型,不加则表示是数字类型

sql点滴37—mysql中的错误Data too long for column '' at row 1