FROM_UNIXTIME(create_time,'%Y-%m-%d %H:%i:%S')
FROM_UNIXTIME(timestamp);// 2017-09-18 11:26:06
UNIX_TIMESTAMP('2017-09-18 11:26:06');// 1508489408.000000
UNIX_TIMESTAMP(CURRENT_TIMESTAMP());当前时间戳
select now();显示当前日期时间
select curdate();//2017-09-29
运行存储过程报错:The user specified as a definer ('root'@'%') does not exist
解决:grant all privileges on *.* to root@"%" identified by ".";
复制表结构和数据
CREATE table card_change_record_2 select * from card_change_record;
仅复制表结构
CREATE TABLE card_change_record_2 LIKE card_change_record
复制旧表的数据到新表(假设两个表结构一样)
insert into card_change_record_2 select * from card_change_record where id BETWEEN 100 and 200;
复制旧表的数据到新表(可选择要复制的字段)
INSERT INTO 新表(字段1,字段2,.......) SELECT 字段1,字段2,...... FROM 旧表
查找最大主键
select max(id) from card_change_record_copy;
optimize table table_name
当数据表没有primary key的时候,insert成功将返回0 需要用 !== false 判断
表锁:
锁住当前会话想要锁住的表
$mysql->query('LOCK TABLES wc_users WRITE');
LOCK 和 UNLOCK 过程中,如果还有其他表的操作,则会一并被锁上,所以 UNLOCK 应该尽量提前,然后再通过其他方式来确保数据的一致性和完整性,而不应该把过多的表操作放在该过程中。
解锁:
$mysql->query('UNLOCK TABLES');
由 TABLES 可见,LOCK 过程可能会锁住多个表,UNLOCK 会解锁掉当前会话的全部表锁,对其他会话的锁表操作没有影响
使用锁表后,在关闭之前,只有被锁的表可以操作,其他表无法操作,也不能连表查询