如何增加MySQL数据库的行值

时间:2015-03-24 21:10:24

标签: php mysql

我有一个MySQL数据库,其中包含一个名为chapters的表。

我有一个名为chapter_number的列,它是一个整数数据类型,并且不会自动递增,因为我有另一个唯一标识该行的字段。

插入此表后,我希望chapter_number列的值为前一行chapter_number增加1(+1)。

这样做的目的是确保每次添加章节时都会进行正确的排序。

我怎样才能在PHP中实现这一目标?

这是我的意思的一个例子吗?

表格结构:

enter image description here

$stmt = $db->prepare('INSERT INTO chapters VALUES (?,?,?,?)');
$stmt->execute(array('','title', '2015-04-03', 'chapter 1 body'));

我会为第一个参数^

添加什么

1 个答案:

答案 0 :(得分:0)

SELECT max(chapter_number) + 1 as total FROM table;

这也允许您稍后通过简单地添加where子句

将章节分配给多本书

以下示例是此语法的外观

insert into table_one (greeting_column, name_column)
SELECT 
     'hello',
     (SELECT max(chapter_number) + 1 as total FROM table)