小编Dav*_*vid的帖子

从MySQL日期字段中阻止'0000-00-00'

我有一个数据库,旧代码喜欢在Date和DateTime列中插入'0000-00-00'而不是实际日期.所以我有以下两个问题:

  1. 有什么我可以在db级别上阻止这个吗?我知道我可以将列设置为非null,但这似乎不会阻止这些零值.
  2. 检测日期字段中现有零值的最佳方法是什么?我有大约一百个表,每个表有2-3个日期列,我不想单独查询它们.

跟进:

默认值已设置为null.很久以前,默认是'0000-00-00'.一些代码仍然明确地放置'0000-00-00'.我宁愿强制该代码抛出错误,以便我可以隔离并删除它.

mysql datetime date data-cleaning

10
推荐指数
2
解决办法
9962
查看次数

从服务器收到的字段的未知字符集索引

我有一个MySQL 5.0.4.1实例和一个用Hibernate编写的应用程序.在其中一个页面上,我在服务器日志中收到以下错误消息:

从服务器收到的字段"123"的未知字符集索引.
at com.mysql.jdbc.Connection.getCharsetNameForIndex(Connection.java:1664)
at com.mysql.jdbc.Field.(Field.java:144)
at com.mysql.jdbc.MysqlIO.unpackField(MysqlIO.java:506)
在com.mysql.jdbc.MysqlIO.getResultSet(MysqlIO.java:280)
在com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1319)
在com.mysql.jdbc.MysqlIO.sqlQuery(MysqlIO.java:1218 )
com.mysql.jdbc.Connection.execSQL(Connection.java:2233)
的com.mysql.jdbc.Connection.execSQL(Connection.java:2193)
com.mysql.jdbc.Connection.execSQL(Connection.java: 2174)
在com.mysql.jdbc.Connection.setAutoCommit(Connection.java:536)
在org.apache.commons.dbcp.DelegatingConnection.setAutoCommit(DelegatingConnection.java:268)
在org.apache.commons.dbcp.PoolingDataSource $ PoolGuardConnectionWrapper.setAutoCommit(PoolingDataSource.java:293)
在org.hibernate.transaction.JDBCTransaction.toggleAutoCommit (JDBCTransaction.java:194)
在org.hibernate.transaction.JDBCTransaction.rollbackAndResetAutoCommit(JDBCTransaction.java:186)
在org.hibernate.transaction.JDBCTransaction.rollback(JDBCTransaction.java:162)
在org.springframework.orm.hibernate3.
org.springframework.transaction.support.AbstractPlatformTransactionManager.processRollback(AbstractPlatformTransactionManager.java:579)中的HibernateTransactionManager.doRollback(HibernateTransactionManager.java:603 )
在org.springframework.transaction.support.AbstractPlatformTransactionManager.rollback(AbstractPlatformTransactionManager.java:556)
在org.springframework.transaction.interceptor.TransactionAspectSupport.doCloseTransactionAfterThrowing(TransactionAspectSupport.java:284)
在org.springframework.transaction.interceptor.TransactionInterceptor.invoke (TransactionInterceptor.java:100)
在org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170)
在org.acegisecurity.intercept.method.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:66)
的组织. springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170)
org.acegisecurity.intercept.method.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:66)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170)
at org.springframework.aop.framework.JdkDynamicAopProxy .invoke(JdkDynamicAopProxy.java:176)
在$ Proxy6.getDataFromDatabase(来源不明)
在org.myCompany.myAction.load(来源不明)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)
在sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39)at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
在org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:274)
在org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:194)
在org.apache.struts.action.RequestProcessor.processActionPerform (RequestProcessor.java:419)org.apache 中的org.apache.struts.action.ActionServ.s. (ActionServlet.java:116)中的org.apache.struts.action.RequestProcessor.process
(RequestProcessor.java:224). struts.action.ActionServlet.doGet(ActionServlet.java:414)在javax.servlet.http.HttpServlet.service(HttpServlet.java:787)在javax.servlet.http.HttpServlet.service(HttpServlet.java:908)在组织.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)





在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
在org.acegisecurity.util.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:264)
在org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke (FilterSecurityInterceptor.java:107)
在org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)
在org.acegisecurity.util.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:274)
在org.acegisecurity. ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:110)
at org.acegisecurity.util.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:274)
在org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
在org.acegisecurity.util.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:274) …

mysql hibernate

9
推荐指数
1
解决办法
1万
查看次数

搜索MySQL Bin日志以查询

是否可以在mysql bin日志中查询特定查询?例如,假设我想知道在过去一小时内是否有人做了特定的查询(比如'更新tableX,其中userName ='bob'").我只是想查看最近是否运行了某个特定查询.....

mysql binlog mysqlbinlog

7
推荐指数
2
解决办法
1万
查看次数

标签 统计

mysql ×3

binlog ×1

data-cleaning ×1

date ×1

datetime ×1

hibernate ×1

mysqlbinlog ×1