PHP-MySQL-Как безопасно увеличивать целочисленное поле MySQL?

Я хочу безопасно увеличивать значение поля с помощью php и mysql.

  1. Какой тип таблицы / поля я должен использовать?

  2. Есть ли минимальная версия MySQL, которую я должен использовать?

  3. Что такое код sql для этого, безопасная транзакция для MySQL?

По какому типу «таблицы» я предполагаю, что вы имеете в виду механизм хранения. Все, что поддерживает мутации (т. Е. Не «архив» или «черная дыра»)

Любое числовое поле будет делать (tinyint, int, float и т. Д.). Тем не менее, нет специального кода PHP, просто SQL для увеличения желаемого поля:

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

Если вы хотите совершить транзакцию, поместите вышеуказанный запрос в транзакцию. Что касается версии MySQL, я согласен с @hsz – используйте самую последнюю версию.

Если вы говорите о первичном ключе, то установите столбец id как primary и auto_increment .

Увеличение поля выглядит так:

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

О версии MySQL – используйте новейшую версию. 😉
> 5.0 будет хорошо.

1.Какой тип таблицы / поля я должен использовать?

-> Тип таблицы зависит от того, что вы запланировали для своего приложения. Это может быть Innodb или Myisam. Я предлагаю вам использовать числовой столбец, чтобы вы могли увеличивать / уменьшать их. НЕ делайте это НЕ ЗНАКОМ, если вы планируете разрешить отрицательные числа.

Ниже приведены пределы, которые могут оказаться полезными при объявлении длины столбца:

 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.Какой код sql для этого, безопасная транзакция для MySQL?

-> Извините, на данный момент ответа нет.