我想使用php和mysql安全地增加字段值。
我必须使用哪种类型的表/字段?
我必须使用最低版本的MySQL吗?
MySQL的安全事务的sql代码是什么?
答案 0 :(得分:74)
通过什么类型的“表”,我认为你的意思是存储引擎。任何支持突变的东西(即不是“存档”或“黑洞”)
任何数字字段都可以(tinyint,int,float等)。也就是说,没有特殊的PHP代码,只有用于递增所需字段的SQL:
UPDATE table SET field = field + 1 WHERE [...]
如果您想要交易,请将上述查询打包到交易中。至于MySQL版本,我同意@hsz - 尽可能使用最新版本。
答案 1 :(得分:7)
如果您正在谈论主键,请将id
列设为primary
和auto_increment
。
增加字段看起来像这样:
UPDATE table SET field = field + 1 WHERE id = 9
关于MySQL版本 - 使用最新版本。 ;)
> 5.0
会好的。
答案 2 :(得分:2)
1.我必须使用什么类型的表/字段?
- >表的类型取决于您为应用程序规划的内容。它可能是Innodb或Myisam。我建议你使用数字列,以便你可以增加/减少它们。如果您打算允许负数,请不要将其设为UNSIGNED。
以下是您在声明列长度时可能会发现有用的限制:
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吗?
- >只是为了使用自动增量?你最好使用最新版本。我建议一些> 5.2.4,如果可能的话。
3. MySQL的安全事务的SQL代码是什么?
- >对不起,暂时没有答案。