生SQLをFuelPHPでぶち込みたいことはある。FuelPHPでSQLを実行する | CoDE4U

blog.code4u.org

schema の SQL

CREATE TABLE `exec_count` (
`int_time_stamp` int unsigned NOT NULL COMMENT '1秒間で何回実行出来るを管理するので最小単位が入る所',
`exec_cnt` int unsigned NOT NULL COMMENT 'メール送信数',
`created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '作成日時',
`updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新日時',
PRIMARY KEY (`int_time_stamp`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='SQL実行数制御';

登録する SQL

INSERT INTO
exec_count (
int_time_stamp,
exec_cnt
) VALUES (
UNIX_TIMESTAMP(),
1
) ON DUPLICATE KEY UPDATE
exec_cnt = IF(exec_cnt < 100 exec_cnt + 1, exec_cnt);

この様な登録する SQL を流し込みたい場合。どうしても ORM だと不便。
f:id:mobile_hack:20160524104256j:plain

タイトルとURLをコピーしました