首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

前不久做oracel移植mysql学到的几个mysql知识点()

2012-08-02 
最近做oracel移植mysql学到的几个mysql知识点()一. mysql序列的两种解决方案1.自增长方式,即 AUTO_INCREME

最近做oracel移植mysql学到的几个mysql知识点()

一. mysql序列的两种解决方案

1.自增长方式,即 AUTO_INCREMENT

2. 先建一张表来存序列值:

mysql> CREATE TABLE sequence (id INT NOT NULL);
mysql> INSERT INTO sequence VALUES (0);

再通过执行以下语句来获取下一个序列值:

mysql>
UPDATE sequence SET id=LAST_INSERT_ID(id+1);
mysql> SELECT LAST_INSERT_ID();

mysql会保证last_insert_id()在并发访问的时候不会出现问题。

 

我选择了第一种,原因是简单方便测试,更重要的原因是懒   ^_^

 

 

二. 查询系统时间的几个方法

sysdate()、now()、CURRENT_TIME()、CURRENT_DATE()、CURRENT_TIMESTAMP()

mysql> select sysdate();+---------------------+| sysdate()           |+---------------------+| 2012-07-26 16:10:45 |+---------------------+1 row in setmysql> select now();+---------------------+| now()               |+---------------------+| 2012-07-26 16:10:49 |+---------------------+1 row in setmysql> SELECT CURRENT_TIME(),CURRENT_DATE(),CURRENT_TIMESTAMP();+----------------+----------------+---------------------+| CURRENT_TIME() | CURRENT_DATE() | CURRENT_TIMESTAMP() |+----------------+----------------+---------------------+| 16:11:04       | 2012-07-26     | 2012-07-26 16:11:04 |+----------------+----------------+---------------------+1 row in set


 

三、编码问题

当遇到 1366 错误时,有两种情况

1.查看mysql的数据库的编码是不是 UTF8。

2.查看创建表时的SQL,看编码是不是UTF8, 比如执行 mysql> show create table tableName 

 

备注:我用的是navicat的图形化操作工具,还是中文版 ^_^ ,oracle10g  ---> mysql5.1

 


 

热点排行