PHP的MySQL的 – 如何安全地增加MySQL整数字段?

我想用php和mysql安全地增加一个字段值。

  1. 我必须使用什么types的表格/字段?

  2. 是否有我必须使用的最低版本的MySQL?

  3. 什么是这个MySQL的安全事务的SQL代码?

通过什么types的“表”我假设你的意思是存储引擎。 任何支持突变的东西(即不是“归档”或“黑洞”)

任何数字字段都会(tinyint,int,float等)。 也就是说,没有特殊的PHP代码,只是增加所需字段的SQL:

UPDATE table SET field = field + 1 WHERE [...] 

如果你想要一个事务,那么把上面的查询打包成一个事务。 至于MySQL版本,我同意@hsz – 使用最新的版本。

如果你正在谈论主键,那么将id列设置为主键和auto_increment

增加的领域看起来像这样:

 UPDATE table SET field = field + 1 WHERE id = 9 

关于MySQL版本 – 使用最新的你可以。 ;)
> 5.0会很好。

1.我必须使用什么types的表格/字段?

– >表格的types取决于您为应用程序规划的内容。 它可能是Innodb或Myisam。 我build议你使用数字列,以便你可以增加/减less它们。 如果您打算允许负数,请不要使其无效。

以下是在声明列长度时可能会遇到的限制:

 TINYINT (length) - 1 - Integer with unsigned range of 0-255 and a signed range from -128-127 SMALLINT (length) - 2 - Integer with unsigned range of 0-65535 and a signed range from -32768-32767 MEDIUMINT(length) - 3 - Integer with unsigned range of 0-16777215 and a signed range from -8388608-8388607 INT(length) - 4 - Integer with unsigned range of 0-429467295 and a signed range from -2147483648-2147483647 BIGINT(length) - 8 - Integer with unsigned range of 0-18446744 and a signed range from -9223372036854775808-9223372036854775807 

2.我有一个最低版本的MySQL我必须使用?

– >只是使用自动增量? 你正在使用最新版本。 如果可能的话,我build议> 5.2.4。

3. MySQL的这个安全事务的SQL代码是什么?

– >对不起,目前没有这个答案。