使用MySql Workbench 6.3构建版本6.3.6。 我正在尝试使用Default约束创建一个表,但它给了我错误。
这是脚本
Create Table `Migration_Log2` (
`Id` Int NOT NULL AUTO_INCREMENT,
`FilePath` varchar(1000) NOT NULL,
`FileName` varchar(100) NOT NULL,
`IsSent` bool NOT NULL DEFAULT '0',
`CreatedDate` DateTime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`ModifiedDate` DateTime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`SendAttemptMade` int NOT NULL DEFAULT '0',
`Message` Text DEFAULT NULL,
PRIMARY KEY (`Id`),
KEY `migration_log_Id_UNIQUE` (`Id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
错误消息
错误代码:1067。' CreatedDate'的默认值无效0.000秒
答案 0 :(得分:0)
这可能是由于对数据库服务器上的数据类型检查有一些严格限制。
我建议将字段CreatedDate
的类型从datetime
更改为timestamp
。
我在网站的VPS中遇到过类似的问题。
答案 1 :(得分:0)
您的CURRENT_TIMESTAMP可能在输出中追加了微秒。
尝试使用:CURRENT_TIMESTAMP(0)作为默认值。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace MyFirstMVC.Controllers
{
public class HomeController : Controller
{
// GET: /First/
public string Index()
{
return "Jay Swaminarayan"; // this string will be display at your run time!!!
}
}
}
微秒可能是重要的。看到差异。