由于MySQL目前字段的默认值不支持函数,所以以create_time datetime default now() 的形式设置默认值是不可能的。代替的方案是使用TIMESTAMP类型代替DATETIME类型。
TIMESTAMP列类型自动地用当前的日期和时间标记INSERT或UPDATE的 *** 作。如果有多个TIMESTAMP列,只有第一个自动更新。
自动更新第一个TIMESTAMP列在下列任何条件下发生:
1.列值没有明确地在一个INSERT或LOAD DATA INFILE语句中指定。
2.列值没有明确地在一个UPDATE语句中指定且另外一些的列改变值。(注意一个UPDATE设置一个列为它已经有的值,这将不引起TIMESTAMP列被更新,因为如果你设置一个列为它当前的值,MySQL为了效率而忽略更改。)
3.你明确地设定TIMESTAMP列为NULL.
4.除第一个以外的TIMESTAMP列也可以设置到当前的日期和时间,只要将列设为NULL,或NOW()。
所以把日期类型 选择成timestamp 允许空就可以了
CREATE TABLE test (
uname varchar(50) NOT NULL,
updatetime timestamp NULL DEFAULTCURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8
如果要在navicat下 *** 作的话,将字段设置为timestamp,然后默认值写上CURRENT_TIMESTAMP即可
如果是日期字符串类型就是~CREATE TABLE 表名
(
time datetime NOT NULL DEFAULT NOW(),
...
)
如果是时间戳~
CREATE TABLE 表名
(
time int NOT NULL DEFAULT CURRENT_TIMESTAMP(),
...
)
-----希望对你有帮助~
如果是插入的时候的话~在对应值上填写NOW()/CURRENT_TIMESTAMP() 也是可以的
打开Navicat ,在我们要到处的数据上面右击鼠标,然后d出的快捷菜单上点击“转储SQL 文件”,在再次d出的子菜单项中选择第一个“数据跟结构”。然后,在会d出一个选择保存位置的保存框,选择好位置后,点确定,就OK了
导入数据库:
打开Navicat for MySQL,然后点击右键选择新建数据库,名字跟我们要导入的数据的名字一样
点击确定后,我们就可以见到左边出现刚刚我们建立好的数据了,然后右击选择“运行SQL文件”会d出一个框,点击“...”选择文件所在的路径,
点击开始,文件就会导入成功!
严格来讲,其实Navicat for MySQL导出的不是数据库,而是数据库中的所有表的数据以及结构。所以,如果你不建立与之对应的数据库,而是随便找一个数据导入,结果是这个数据库多了几张刚刚导入的表。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)