Discuz!NT官方社区

首页 » Discuz!NT交流与讨论 » BUG 反馈 » 雪人救命啊!无法将 NULL 值插入列 'lastposterid'
秀真 - 2007-4-5 22:35:00
我将数据库从一个服务器上直接导入到另一个上,发贴和编辑就出现这个情况了.


无法将 NULL 值插入列 'lastposterid',表 'a04051731453.a04051731453.dnt_topics';该列不允许空值。INSERT 失败。语句已终止。 说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.SqlClient.SqlException: 无法将 NULL 值插入列 'lastposterid',表 'a04051731453.a04051731453.dnt_topics';该列不允许空值。INSERT 失败。语句已终止。

源错误:

[没有相关的源行]

源文件: c:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\root\baa4bc7a\93eaecb5\kutlcw8-.0.cs    行: 0

堆栈跟踪:

[SqlException: 无法将 NULL 值插入列 'lastposterid',表 'a04051731453.a04051731453.dnt_topics';该列不允许空值。INSERT 失败。语句已终止。]  System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream) +742  System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior) +45  System.Data.SqlClient.SqlCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior) +5  System.Data.Common.DbDataAdapter.FillFromCommand(Object data, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +304  System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +77  System.Data.Common.DbDataAdapter.Fill(DataSet dataSet) +38  Discuz.Common.Database.ExecuteDataset(SqlConnection connection, CommandType commandType, String commandText, SqlParameter[] commandParameters) +147  Discuz.Common.Database.ExecuteDataset(String connectionString, CommandType commandType, String commandText, SqlParameter[] commandParameters) +88  Discuz.Forum.TopicFactory.CreateTopic(TopicInfo topicinfo) +1252  Discuz.ForumPage.posttopic.ShowPage() +6048  Discuz.Forum.BasePage..ctor() +4112  Discuz.ForumPage.posttopic..ctor() +4  ASP.posttopic_aspx..ctor() in c:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\root\baa4bc7a\93eaecb5\kutlcw8-.0.cs:0[TargetInvocationException: 调用的目标发生了异常。]  System.RuntimeType.CreateInstanceImpl(Boolean publicOnly) +0  System.Activator.CreateInstance(Type type, Boolean nonPublic) +66  System.Web.UI.TemplateControlParser.GetCompiledInstance(String virtualPath, String inputFile, HttpContext context) +164[HttpException (0x80004005): 未能创建类型为“ASP.posttopic_aspx”的页。]  System.Web.UI.TemplateControlParser.GetCompiledInstance(String virtualPath, String inputFile, HttpContext context) +340  System.Web.UI.PageParser.GetCompiledPageInstanceInternal(String virtualPath, String inputFile, HttpContext context) +43  System.Web.UI.PageHandlerFactory.GetHandler(HttpContext context, String requestType, String url, String path) +44  System.Web.HttpApplication.MapHttpHandler(HttpContext context, String requestType, String path, String pathTranslated, Boolean useAppConfig) +698  System.Web.MapHandlerExecutionStep.System.Web.HttpApplication+IExecutionStep.Execute() +95  System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +173

版本信息: Microsoft .NET Framework 版本:1.1.4322.2300; ASP.NET 版本:1.1.4322.2300




2649正式版
daizhj - 2007-4-6 9:18:00
建议您在后台运行指定SQL语句页面运行下面代码后,看问题是否已解决:
ALTER TABLE [dnt_topics] ALTER column  [lastposterid] [int] NOT NULL 
--/* Discuz!NT SQL Separator */--
ALTER TABLE [dnt_topics] ADD CONSTRAINT [DF__dnt_topic__lastp__70B3A6A6] DEFAULT (0) FOR [lastposterid]
aguicom - 2008-3-24 22:27:00
ALTER TABLE [dnt_topics] ADD CONSTRAINT [DF__dnt_topic__lastp__70B3A6A6] DEFAULT (0) FOR [lastposterid]


[DF__dnt_topic__lastp__70B3A6A6] 这个是什么意思啊
戏水 - 2008-3-25 9:17:00
是默认值的名字
aaa123 - 2008-4-3 13:34:00
[DF__dnt_topic__lastp__70B3A6A6]  是 CONSTRAINT 的名字吧?
戏水 - 2008-4-7 9:52:00
是的 是默认值的名字
1
查看完整版本: 雪人救命啊!无法将 NULL 值插入列 'lastposterid'