当前位置: 首页 > news >正文

做动态网站用哪个程序软件比较简单徐州seo推广

做动态网站用哪个程序软件比较简单,徐州seo推广,做网站注意什么问题,酒类营销网站目录 一、利用Navicat将oracle迁移至mysql数据库 1、建立数据传输 2、选择需要迁移的数据库跟目标库 3、数据传输选项 4、选择需要迁移表信息 二、迁移之后遇到的一些问题 1、大小写问题 2、数据库函数问题 3、sql语句是否使用空格隔开问题 4、关于子查询别命名问题 …

目录

一、利用Navicat将oracle迁移至mysql数据库

1、建立数据传输 

2、选择需要迁移的数据库跟目标库 

 3、数据传输选项

 4、选择需要迁移表信息

 二、迁移之后遇到的一些问题

1、大小写问题 

2、数据库函数问题

3、sql语句是否使用空格隔开问题

4、关于子查询别命名问题

5、数据库自增问题


由于近期一部分项目的测试环境需要从oracle迁移至mysql,所以做了一下数据库表的迁移,其中也遇到了一些问题,因此记录一下

一、利用Navicat将oracle迁移至mysql数据库

1、建立数据传输 

2、选择需要迁移的数据库跟目标库 

 3、数据传输选项

 4、选择需要迁移表信息

选好需要同步的表之后点击开始即可

 二、迁移之后遇到的一些问题

1、大小写问题 

由于oracle不区分大小写,所以同步过来的表及字段我默认为全部大写,但是在系统中表名并不是全部大写,比如一个mysqlTest表,数据库中是MYSQLTEST,但是程序中的sql是 SELECT * FROM mysqlTest,那就会报错mysqlTest表不存在,因此需要设置mysql不区分大小写。

进入mysql的my.cnf目录下,比如/etc/my.cnf,然后在后边加上 lower_case_table_names=1

lower_case_table_names=1

然后重启mysql即可。

2、数据库函数问题

比如一些  Unknown column 'sysdate' in 'where clause' ,oracle使用sysdate来取当前时间,mysql则需要加括号sysdate(),或者使用 CURRENT_TIMESTAMP(),包括其他截取,分页(limit跟rownum)等就不赘述

3、sql语句是否使用空格隔开问题

oracle中使用以下语句 ,可以正常查询,但是在mysql中则会报错

 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 'a.age<21' at line 1

SELECT * from test a WHERE a.id>10and a.age<21  ;

在10和and之间加一个空格即可解决

SELECT * from test a WHERE a.id>10 and a.age<21  ;

4、关于子查询别命名问题

比如分页的时候可以这样查询总数,oracle可以正常返回,mysql则会报错

> 1248 - Every derived table must have its own alias

SELECT count(*) FROM(SELECT * from  test );

需要给子查询加一个别命名

SELECT count(*) FROM(SELECT * from  test ) a;

5、数据库自增问题

oracle中可以使用序列号自增,select  SEQ_TESTNO.nextVal from dual ;在使用的时候可以直接获取到序列号的值,但是mysql中则不能直接使用,会报错 Unknown table 'SEQ_TESTNO' in field list,为了减小改动量就建一个表用来保存序列号,然后写一个获取下一个序列号的函数,用来获取。

建表

CREATE TABLE `sequence` (`name` varchar(255) COLLATE utf8_bin NOT NULL COMMENT '序列号名称',`current_value` varchar(255) COLLATE utf8_bin DEFAULT NULL COMMENT '当前值',`increment` varchar(255) COLLATE utf8_bin DEFAULT NULL COMMENT '增长量',PRIMARY KEY (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

获取当前值

DROP FUNCTION IF EXISTS currval; 
DELIMITER $ 
CREATE FUNCTION currval (seq_name VARCHAR(50)) RETURNS INTEGER LANGUAGE SQL DETERMINISTIC CONTAINS SQL SQL SECURITY DEFINER COMMENT '' 
BEGIN DECLARE value INTEGER; SET value = 0; SELECT current_value INTO value FROM sequence WHERE name = seq_name; RETURN value; 
END
$ 
DELIMITER ;

获取下一个值 

DROP FUNCTION IF EXISTS nextval; 
DELIMITER $ 
CREATE FUNCTION nextval (seq_name VARCHAR(50)) RETURNS INTEGER LANGUAGE SQL DETERMINISTIC CONTAINS SQL SQL SECURITY DEFINER COMMENT '' 
BEGIN UPDATE sequence SET current_value = current_value + increment WHERE name = seq_name; RETURN currval(seq_name); 
END 
$ 
DELIMITER ; 

插入序列号名称

查询的时候只需要 

 SELECT NEXTVAL('SEQ_TESTNO') from dual; 即可

 

http://www.tj-hxxt.cn/news/57826.html

相关文章:

  • 提供免费服务器的网站优化网站关键词的技巧
  • 景区网站的作用国际国内新闻最新消息今天
  • 黑龙江建设网ca锁在哪里郑州客串seo
  • wordpress修改上传文件大小seo好学吗
  • h5游戏网站微信群推广平台有哪些
  • 辽宁省交通建设投资集团网站郑州网站运营专业乐云seo
  • 自己做网站需要什么新手学seo
  • 哪个网站教做公众号网络推广公司简介模板
  • 做网站一定要用cms招商外包公司
  • 做汽车介绍视频的网站seo排名首页
  • 垃圾站 WordPress教育机构退费纠纷找谁
  • dw做动态网站站点怎么站长之家怎么找网址
  • 银河星宇 网站建设网推放单平台
  • 个人做网站备案吗关键词搜索引擎又称为
  • 网站建设的空间是什么可以推广发广告的app
  • 运城做网站的公司南宁网站建设公司
  • 百度搜索网址系统优化软件
  • 网站建设的电话客服最近几天的新闻大事
  • 上传网站信息问题seo推广方法
  • 网站80端口备案西安百度seo推广电话
  • 制作网页的步骤800字网络优化软件有哪些
  • 网站开发资讯全网推广平台有哪些
  • 公司软件网站建设上海关键词排名提升
  • 广州做网站推广的公司最佳搜索引擎
  • 网站建设专业团队如何建网址
  • php网站开发实例教程代码超级seo工具
  • 海搜网做的网站怎么样营销组合策略
  • 网站模块设计网络seo推广
  • 品牌建设与诚信建设东莞seo优化排名推广
  • 网站图片代码怎么做抖音代运营