关于mysql的几个小问题

1、Date问题

程序中使用java.util.Date类型与数据库中的date类型数据不匹配;例如,假设数据表如下图所示:


而在程序中代码为:

INSERT INTO table VALUES(1,new Date(),'detail')     其中Date() 为java.util.Date()类型。那么此时不能插入成功。


解决方法:

a.在程序中使用java.sql.Date类型

b.在程序中使用字符串类型,如"2014-7-11";而在数据表中仍然用date类型,因为数据库会自动将字符串类型转化成相应的date类型

c.在程序和数据表中均使用字符类型,这样数据库的效率会更快


2、关于数据库插入数据时单引号( ' )问题

如果数据表类型为数字型时,插入数据可以不加单引号;对于varchar类型数据,则应该加单引号,如果不加单引号,mysql默认其为数字型,此时则可能出现不匹配(不能转化成数字型数据)的情况而不能插入,但是如果其value值与其对应的属性相同,此时则表示此属性对应的值为null或者“ ”。

例如(表结构如上图所示),

执行如下操作时:



因为第三个字段不能转化成数字型,所以出错。而当将第三个字段改变数字型时结果如下:



而当将第三个字段改变其属性名之后,结果如下:


第三个字段(detail)为空串(因为表中要求detail不能为null),否则第三个字段(detail)为NULL。

猜你喜欢

转载自blog.csdn.net/LClansefengbao/article/details/37691759