导出数据库表语句如下:
mysqldump -u'ifly_ssp'-p'imsp_vcloud' ifly_cpcc_ad_basic T_MEDIA_INFO>/root/database/T_MEDIA_INFO.sql
mysqldump -u'ifly_ssp' -p'imsp_vcloud' ifly_cpcc_ad_basic T_OTHER_PLAT>/root/database/T_OTHER_PLAT.sql
这个是在命令行中输入,不是在mysql中输入
然后在另一个数据库导入
source /home/htling/T_MEDIA_INFO.sql;
报错
查看建表语句如下,发现:
CREATE TABLE `T_MEDIA_INFO` (
`ID` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '媒体ID',
`NAME` varchar(64) CHARACTER SET utf8 NOT NULL COMMENT '媒体名称',
`NICKNAME` varchar(64) COLLATE utf8_bin DEFAULT NULL COMMENT '媒体别名',
`JOIN_NAME` varchar(64) COLLATE utf8_bin DEFAULT NULL COMMENT '衔接名(给运营识别更好的识别应用名称)',
`TYPE` int(10) unsigned NOT NULL COMMENT '媒体类型ID',
`PLATFORM_TYPE` int(10) unsigned NOT NULL COMMENT '平台类型:1:android;2:ios;0:其他',
`DOWNLOAD_ADDR` varchar(1024) COLLATE utf8_bin DEFAULT NULL COMMENT '下载地址',
`USER_ID` int(10) unsigned NOT NULL COMMENT '媒体所属用户ID',
`ADUNIT_NUM` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '广告位数目',
`MEDIA_SHOW_ID` varchar(8) COLLATE utf8_bin DEFAULT NULL COMMENT '媒体对外展示ID',
`IS_DEL` tinyint(1) DEFAULT '0' COMMENT ' 是否删除:0代表未删除,1 代表删除',
`PACKAGE_NAME` varchar(128) COLLATE utf8_bin NOT NULL COMMENT '包名',
`NOTE` varchar(256) COLLATE utf8_bin DEFAULT NULL COMMENT '应用描述',
`FORBID_DESC` text COLLATE utf8_bin NOT NULL,
`VERIFY_STATUS` int(4) NOT NULL DEFAULT '0' COMMENT '审核状态:0未提交,1审核中,2审核通过,3审核拒绝',
`PLAT_STATUS` int(4) DEFAULT NULL COMMENT '平台审核状态',
`UPLOAD_DESC` text COLLATE utf8_bin COMMENT '上传描述',
`CREATE_TIME` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '创建时间',
`COMMIT_TIME` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '提交时间',
`ONLINE_TIME` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '上线时间',
`VERIFY_MARK` varchar(256) COLLATE utf8_bin DEFAULT NULL COMMENT '审核备注',
`FINAL_SCORE` double NOT NULL DEFAULT '0' COMMENT '流量评价得分',
`ACCESS_TYPE` int(4) DEFAULT '0' COMMENT '媒体接入方式,0-sdk,1-api',
`REGISTERED_FROM` varchar(32) COLLATE utf8_bin DEFAULT 'voiceads' COMMENT '应用注册来源,默认voiceads',
`APP_DOWNLOAD_URL` varchar(255) COLLATE utf8_bin DEFAULT NULL COMMENT '应用市场下载链接',
`DAILY_ACTIVE_USER` int(11) DEFAULT NULL COMMENT '日活跃用户数',
`CROWD_KEYWORD` varchar(255) COLLATE utf8_bin DEFAULT NULL COMMENT '适用人群 用英文逗号隔开',
`MEDIA_FLOW_TYPE` tinyint(1) unsigned NOT NULL DEFAULT '1' COMMENT '媒体流量类型 1:小媒体 2:大媒体',
`IS_SPECIAL` tinyint(4) NOT NULL DEFAULT '0' COMMENT '是否是特殊媒体,{0 否,1是}',
`UPDATE_TIME` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`COOPERATE_TYPE` tinyint(1) NOT NULL DEFAULT '1' COMMENT '媒体合作类型 1: 合作媒体 2: 自有媒体',
`MEDIA_TYPE` tinyint(4) NOT NULL DEFAULT '0' COMMENT '媒体类型0线上媒体 1 线下媒体',
`MEDIA_QUALITY` decimal(4,1) NOT NULL DEFAULT '2.5' COMMENT '媒体质量标注(默认2.5分)',
`AUDIT_TYPE` tinyint(2) NOT NULL DEFAULT '1' COMMENT '审核方式:1.后置(先投后审) 2.前置(先审后投) 默认1',
PRIMARY KEY (`ID`),
KEY `IDX_NAME` (`NAME`) USING BTREE,
KEY `IDX_TYPE` (`TYPE`) USING BTREE,
KEY `IDX_PLATFORM_TYPE` (`PLATFORM_TYPE`) USING BTREE,
KEY `IDX_USER_ID` (`USER_ID`) USING BTREE,
KEY `IDX_CREATE_TIME` (`CREATE_TIME`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=14002 DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='媒体基本信息表';
/*!40101 SET character_set_client = @saved_cs_client */;
解释如下:
mysql单表多timestamp报错#
一个表中出现多个timestamp并设置其中一个为current_timestamp的时候经常会遇到
#1293 - Incorrect table definition; there can be only oneTIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATEclause
原因是当你给一个timestamp设置为on updatecurrent_timestamp的时候,其他的timestamp字段需要显式设定default值
但是如果你有两个timestamp字段,但是只把第一个设定为current_timestamp而第二个没有设定默认值,mysql也能成功建表,但是反过来就不行...
最后解决了