不区分吗?但是事实上证明下面的两个sql语句是不一样的,
SELECT name FROM person WHERE id=? and password=?
select name from perosn where id=? and password=?我用的是mysql5.0版本的数据库!!!我在MyEclipse下做了个增删改查的留言板,前提是用户登录,
登录时
我输入正确的用户名和密码,第二个sql语句在查询时怎么都通不过!!!!
于是我吧能改的地方都改了,还是不行,
最后我不得不怀疑是不是sql语句的问题,
果不其然啊!!!我都快疯了!!!!!问题竟然出在sql语句上!!!把关键字改为大写后就,输入正确的用户名和密码,就顺利通过验证,
上面两行sql语句就是我从代码中直接粘过来的!!!
我真的不知道这是为什么,难道是sql关键字区分大小写????恳请高手赐教!!!!
SELECT name FROM person WHERE id=? and password=?
select name from perosn where id=? and password=?我用的是mysql5.0版本的数据库!!!我在MyEclipse下做了个增删改查的留言板,前提是用户登录,
登录时
我输入正确的用户名和密码,第二个sql语句在查询时怎么都通不过!!!!
于是我吧能改的地方都改了,还是不行,
最后我不得不怀疑是不是sql语句的问题,
果不其然啊!!!我都快疯了!!!!!问题竟然出在sql语句上!!!把关键字改为大写后就,输入正确的用户名和密码,就顺利通过验证,
上面两行sql语句就是我从代码中直接粘过来的!!!
我真的不知道这是为什么,难道是sql关键字区分大小写????恳请高手赐教!!!!
不清楚
mssql不区分
Database changed
mysql> SELECT user FROM user WHERE user='root';
+------+
| user |
+------+
| root |
+------+
1 row in set (0.00 sec)mysql> select user from user where user='root';
+------+
| user |
+------+
| root |
+------+
1 row in set (0.00 sec)mysql>
windows下的应该不用再测试了吧
lower_case_table_names = 0 iTbbo.com 其中 0:区分大小写,1:不区分大小写 iTbbo.com MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的: www.iTbbo.com
1、数据库名与表名是严格区分大小写的; iTbbo.com 2、表的别名是严格区分大小写的; www.iTbbo.com 3、列名与列的别名在所有的情况下均是忽略大小写的; bbs.iTbbo.com
4、变量名也是严格区分大小写的; iTbbo.com MySQL在Windows下都不区分大小写。 iTbbo.com3、如果想在查询时区分字段值的大小写,则:字段值需要设置BINARY属性,设置的方法有多种: bbs.iTbbo.comA、创建时设置:
CREATE TABLE T(
A VARCHAR(10) BINARY
); bbs.iTbbo.com B、使用alter修改:
ALTER TABLE `tablename` MODIFY COLUMN `cloname` VARCHAR(45) BINARY; iTbbo.com C、mysql table editor中直接勾选BINARY项。 bbs.iTbbo.com
原贴地址:http://www.itbbo.com/article/20090510/5830.shtml
select name from perosn where id=? and password=?
假设是区分的 那么第一句也不应该对啊 AND没有大写啊
在linux,unix中字段名称要区分的
这样MySQL 将在创建与查找时将所有的表名自动转换为小写字符(这个选项缺省地在 Windows 中为 1 ,在 Unix 中为 0。从 MySQL 4.0.2 开始,这个选项同样适用于数据库名)。如果区分了mysql大小写的名字,在windows下面其实是会出问题的,因为虽然mysql区分了大小写,但是Windows本身并不支持文件名的大小写。即在windows下,如果你建立了一个大写字母的表名,再建立一个小写字母的表名,mysql并不会提示表已经存在,而是直接报错!
import java.sql.ResultSet;import com.wy.struts.dao.PersonDAO;
import com.wy.struts.dbc.DataBaseConnection;
import com.wy.struts.vo.Person;public class PersonDAOImpl implements PersonDAO {
public boolean login(Person person) throws Exception{
boolean flag = false;
String sql = "SELECT name FROM person WHERE id=? and password=?";
PreparedStatement pstmt = null;
DataBaseConnection dbc = null ;
dbc=new DataBaseConnection();
try{
pstmt = dbc.getConnection().prepareStatement(sql);
pstmt.setString(1, person.getId());
pstmt.setString(2,person.getPassword());
ResultSet rs = pstmt.executeQuery();
if(rs.next()){
flag = true;
person.setName(rs.getString(1));
}
rs.close();
pstmt.close();
}catch(Exception e){
throw new Exception("操作出现错误!!!");
}finally{
dbc.close();
}
return flag;
}}真的很无语,当我把sql里面的语句换成select name from perosn where id=? and password=? 时,它就是查不出来,无语,谁要想验证的话我把代码打包发给你,我的mysql是5.0版本的,MyEclipse是6.0.1版本的。tomcat是6.0.20免安装版本的!!!!