日期:2014-05-16 浏览次数:20699 次
一. 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 set mysql> select now(); +---------------------+ | now() | +---------------------+ | 2012-07-26 16:10:49 | +---------------------+ 1 row in set mysql> 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