如果你使用的是1.1.8版本以上,可以使用
在黃浦等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站建設(shè)、成都做網(wǎng)站 網(wǎng)站設(shè)計制作按需求定制設(shè)計,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站建設(shè),營銷型網(wǎng)站建設(shè),外貿(mào)網(wǎng)站建設(shè),黃浦網(wǎng)站建設(shè)費用合理。
CActiveRecord::updateCounters() .
代碼如下
public function actionDown($id) {
Post::model()-updateCounters(
array('字段'=-1),
array('condition' = "id = :id"),
array(':id' = $id),
);
}
書寫MySQL函數(shù),獲取當(dāng)前主鍵最大值。然后執(zhí)行減一操作,即可實現(xiàn)。
按如下方法操作:
1、先正常創(chuàng)建帶有主鍵的表。
create?table?user(?
id?integer?primary?key,?
firstname?varchar(200)?not?null,?
lastname?varchar(200)?not?null,?
age?integer);
2、設(shè)置自增字段。
alter?table?user?modify?id?integer?auto_increment?;
3、將auto_increment_increment設(shè)置成10。
set?auto_increment_increment=10
設(shè)置自增列
MYSQL的自增列一定要是有索引的列,設(shè)置種子值要在表的后面設(shè)置
--mysql
-- 設(shè)置自增ID從N開始
CREATE TABLE empautoinc(
ID INT PRIMARY KEY AUTO_INCREMENT
) AUTO_INCREMENT = 100 ; --(設(shè)置自增ID從100開始)
insert into empautoinc(id) values(null);
Query OK, 1 row affected (0.00 sec)
mysql select * from empautoinc;
+-----+
| ID |
+-----+
| 100 |
+-----+
1 row in set (0.00 sec)
show table status like 'empautoinc'G;
*************************** 1. row ***************************
Name: empautoinc
Engine: InnoDB
Version: 10
Row_format: Compact
Rows: 1
Avg_row_length: 16384
Data_length: 16384
Max_data_length: 0
Index_length: 0
Data_free: 0
Auto_increment: 101
Create_time: 2016-10-27 01:50:32
Update_time: NULL
Check_time: NULL
Collation: utf8_general_ci
Checksum: NULL
Create_options:
Comment:
1 row in set (0.00 sec)
設(shè)置自增列的步長,可以分為全局級別和會話級別
如果是會話級別,那么當(dāng)用戶新建一個會話的時候,那么步長又回到了全局級別,所以mysql的步長跟sqlserver的步長有很大的不同
mysql不能設(shè)置為 表級別 的步長
私信666領(lǐng)取資料