create table book
(
book_id unsigned int(10) not null auto_increment,
book_name varchar(100) not null,
book_price float(5, 2) not null, #我假设每本书的价格不会超过999.99元
book_number int(10) not null,
primary key (book_id)
)
type = innodb; #engine = innodb也行
BEGIN;
SELECT book_number FROM book WHERE book_id = 123;
// ...
UPDATE book SET book_numberbook_number = book_number - 1 WHERE book_id = 123;
COMMIT;
BEGIN;
SELECT book_number FROM book WHERE book_id = 123 FOR UPDATE;
// ...
UPDATE book SET book_numberbook_number = book_number - 1 WHERE book_id = 123;
COMMIT;
欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/) | Powered by Discuz! X3.2 |