PHP的MySQL的 – 如何安全地增加MySQL整数字段?
我想用php和mysql安全地增加一个字段值。
-
我必须使用什么types的表格/字段?
-
是否有我必须使用的最低版本的MySQL?
-
什么是这个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代码是什么?
– >对不起,目前没有这个答案。