MySQL数据库导入问题,同样一段指令,有一台电脑能够顺利运行,另外一条就会报错,求解答。代码如下:

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL数据库导入问题,同样一段指令,有一台电脑能够顺利运行,另外一条就会报错,求解答。代码如下:相关的知识,希望对你有一定的参考价值。

Query:
CREATE TABLE `act_evt_log` (
`LOG_NR_` bigint(20) NOT NULL AUTO_INCREMENT,
`TYPE_` varchar(64) COLLATE utf8_bin DEFAULT NULL,
`PROC_DEF_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL,
`PROC_INST_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL,
`EXECUTION_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL,
`TASK_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL,
`TIME_STAMP_` timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3),
`USER_ID_` varchar(255) COLLATE utf8_bin DEFAULT NULL,
`DATA_` longblob,
`LOCK_OWNER_` varchar(255) COLLATE utf8_bin DEFAULT NULL,
`LOCK_TIME_` timestamp(3) NULL DEFAULT NULL,
`IS_PROCESSED_` tinyint(4) DEFAULT '0',
PRIMARY KEY (`LOG_NR_`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin

Error occured at:2017-01-03 16:06:12
Line no.:33
Error Code: 1064 - You have an error in your SQL syntax; check the manual that corresponds to your mysql server version for the right syntax to use near '(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3),
`USE' at line 8

 TIMESTAMP 不要指定长度
 以下是正确的:
CREATE TABLE `act_evt_log` (
  `LOG_NR_` BIGINT(20) NOT NULL AUTO_INCREMENT,
  `TYPE_` VARCHAR(64) COLLATE utf8_bin DEFAULT NULL,
  `PROC_DEF_ID_` VARCHAR(64) COLLATE utf8_bin DEFAULT NULL,
  `PROC_INST_ID_` VARCHAR(64) COLLATE utf8_bin DEFAULT NULL,
  `EXECUTION_ID_` VARCHAR(64) COLLATE utf8_bin DEFAULT NULL,
  `TASK_ID_` VARCHAR(64) COLLATE utf8_bin DEFAULT NULL,
  `TIME_STAMP_` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `USER_ID_` VARCHAR(255) COLLATE utf8_bin DEFAULT NULL,
  `DATA_` LONGBLOB,
  `LOCK_OWNER_` VARCHAR(255) COLLATE utf8_bin DEFAULT NULL,
  `LOCK_TIME_` TIMESTAMP(3) NULL DEFAULT NULL,
  `IS_PROCESSED_` TINYINT(4) DEFAULT '0',
  PRIMARY KEY (`LOG_NR_`)
) ENGINE=INNODB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

参考技术A 你两台版本的mysql版本不一致吧,这个错误是说你mysql的版本不支持‘(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3
’。
应该是某台电脑mysql版本不支持CURRENT_TIMESTAMP()函数。

使用python远程连接数据库

根据web连接服务的原理,我们可以通过一台电脑连接我们另一台电脑上的数据库

一。开启数据库的权限
1.Mysql:
1)首先修改可以访问的ip,把localhost全部修改为%
打开cmd,使用指令【mysql -u root -p】,进入数据库,其中root是MySQL的用户名,默认为root

技术图片


2)选择数据库
技术图片


3)修改ip访问的权限
使用sql语句【update user set host="%" where host="localhost";】完成对权限的更新,在使用指令【select user,host from user;】进行查看
技术图片

 

4)重启服务
进入服务找到MySQL的服务重启一下就可以了
技术图片

 

2.neo4j:
1)打开访问权限
进入neo4j的安装目录下的配置文件conf中
技术图片

 

通过快速检索crtl+F找到这个配置,取消这一行的注释即可
技术图片


2)开放7474端口
【控制面板】-->【windows defender 防火墙】-->【高级设置】-->【入站规则】-->【新建规则】
技术图片

技术图片


技术图片

依次选择:【端口】-->输入特定端口-->【允许连接】-->【下一步】-->输入名称和描述-->【完成】,端口打开
技术图片

技术图片

3)重启服务,按照前面的方法重启一下服务即可

二。远程连接数据库
1.MySQL:
python3中使用pymysql连接MySQL数据库,安装pymysql,【pip install pymysql】

 

以上是关于MySQL数据库导入问题,同样一段指令,有一台电脑能够顺利运行,另外一条就会报错,求解答。代码如下:的主要内容,如果未能解决你的问题,请参考以下文章

用户“root”的访问被拒绝。 PHP/MYSQL/XAMPP

通过导入虚拟电脑的方式还原centos

将已经开发完的web项目部署到两台电脑上,但是两台电脑的运行效果不一样,有一台更新不好

MySQL / PHPMyAdmin

MySQL服务器

使用python远程连接数据库