问题是这样的:
我新建了一个数据库叫:tempdb
创建了一个表:temp_test_tbl (int id primary key, uname varchar(20),upassword varchar(20) )
我首先在DOS窗口下插入一条数据:insert into temp_test_tbl values (00001,'jackie','jackie'); OK 没有问题
我再插入一条有带有中文的:insert into temp_test_tbl values (00002,'你好','你好');
报错: data too long for column "uname" (不是字符长度的问题)
我后来在桌面新建了一个temp_test_tbl.txt文件,里面也是insert into temp_test_tbl values (00002,'你好','你好')
这条SQL语句,运行:source C:\Documents and Settings\Administrator\桌面\temp_test_tbl.txt 还是报同样的错
通过网上查询,把my.ini里面的
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"这句注释,
当在运行:insert into temp_test_tbl values (00002,'你好','你好');
没有报:data too long for column "uname"
但是运行:SELECT * FROM temp_test_tbl 时,uname,upassword两列的值是空的,相当于屏蔽了报错信息
没有办法,我最后到MySQL Administrator 插入insert into temp_test_tbl values (00002,'你好','你好');
Ok 这样也没有问题,没有报错 , SELECT * FROM temp_test_tbl ,查出来的数据是OK的(中文也显示了,非乱码),
但是我到DOS窗口的时候执行SELECT * FROM temp_test_tbl 时,又出现了乱码
请问大侠们,这个问题该怎么样解决??????????等待中...
以下是我本地MYSQL的一些基本信息:
mysql> \s
--------------
mysql Ver 14.12 Distrib 5.0.27, for Win32 (ia32) Connection id: 1
Current database: tempdb
Current user: root@localhost
SSL: Not in use
Using delimiter: ;
Server version: 5.0.27-community-nt
Protocol version: 10
Connection: localhost via TCP/IP
Server characterset: utf8
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8
TCP port: 3306
Uptime: 34 min 10 sec Threads: 2 Questions: 193 Slow queries: 0 Opens: 63 Flush tables: 1 Open ta
bles: 0 Queries per second avg: 0.094
--------------
我新建了一个数据库叫:tempdb
创建了一个表:temp_test_tbl (int id primary key, uname varchar(20),upassword varchar(20) )
我首先在DOS窗口下插入一条数据:insert into temp_test_tbl values (00001,'jackie','jackie'); OK 没有问题
我再插入一条有带有中文的:insert into temp_test_tbl values (00002,'你好','你好');
报错: data too long for column "uname" (不是字符长度的问题)
我后来在桌面新建了一个temp_test_tbl.txt文件,里面也是insert into temp_test_tbl values (00002,'你好','你好')
这条SQL语句,运行:source C:\Documents and Settings\Administrator\桌面\temp_test_tbl.txt 还是报同样的错
通过网上查询,把my.ini里面的
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"这句注释,
当在运行:insert into temp_test_tbl values (00002,'你好','你好');
没有报:data too long for column "uname"
但是运行:SELECT * FROM temp_test_tbl 时,uname,upassword两列的值是空的,相当于屏蔽了报错信息
没有办法,我最后到MySQL Administrator 插入insert into temp_test_tbl values (00002,'你好','你好');
Ok 这样也没有问题,没有报错 , SELECT * FROM temp_test_tbl ,查出来的数据是OK的(中文也显示了,非乱码),
但是我到DOS窗口的时候执行SELECT * FROM temp_test_tbl 时,又出现了乱码
请问大侠们,这个问题该怎么样解决??????????等待中...
以下是我本地MYSQL的一些基本信息:
mysql> \s
--------------
mysql Ver 14.12 Distrib 5.0.27, for Win32 (ia32) Connection id: 1
Current database: tempdb
Current user: root@localhost
SSL: Not in use
Using delimiter: ;
Server version: 5.0.27-community-nt
Protocol version: 10
Connection: localhost via TCP/IP
Server characterset: utf8
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8
TCP port: 3306
Uptime: 34 min 10 sec Threads: 2 Questions: 193 Slow queries: 0 Opens: 63 Flush tables: 1 Open ta
bles: 0 Queries per second avg: 0.094
--------------
解决方案 »
- 在线词典数据库结构如何设计,请有经验的大侠们指点。
- MYSQLCPU占用率95%,跪求解决方法,十万火急!
- 问个关于隐式转换的小问题
- 执行OPTIMIZE TABLE后,为什么ibdata1文件大小并没有改变?
- phpmysql执行多条insert into....就没反应
- MYSQL中 关于SELECT语句中的求和问题
- 把访问mysql数据库程序打包成dll, 但在主程序中调用此dll时如果使用成员变量(非指针)不管直接运行.exe还是在开发环境下运行都没问题,但如果使用指针变量在开发环境下(vs2003)运行没问题,但直接在debug目录下运行.exe却不可以
- mysql支持group by all吗
- mysql安装完后运行什么启动?
- DREAMWEAVER 提示 错误,网页打开没有错误提示
- 什么版本的JDBC支持MySQL5.1.41,可以将Java连接MySQL的代码贴出来吗
- 令我迷惑的sql语句问题,麻烦大家帮忙看看
MySQL 中文显示乱码
set names 'gbk';