Как создать post_id для нового сообщения в социальной сети

Я хочу создать идентификатор для нового сообщения, например 00001, 00002, однако в то же время мне нужно получить post_id, чтобы назвать URL-адрес изображения xxx/00001_1.jpg. Так должен ли я реализовать его с помощью mysql(auto_increment) или php/java API?

🤔 А знаете ли вы, что...
PHP имеет встроенную поддержку сессий для отслеживания состояния пользователей на веб-сайтах.


84
3

Ответы:

Для схемы да, просто используйте auto_increment.

Я не уверен в java, но в php есть функции для возврата последнего вставленного элемента: Как получить последний вставленный идентификатор таблицы MySQL в PHP?


Вы не можете использовать автоинкремент, потому что автоинкремент всегда начинается с 1. И вы используете 00001. Таким образом, вам нужно добавить идентификатор вручную.

Прежде всего, получите последний вставленный идентификатор. и когда вы будете вставлять новые данные, вы должны сделать +1 с last_inserted_id - вот так:

$last_inserted_id=SELECT LAST_INSERT_ID();

во время вставки используйте last_inserted_id и +1.


Решено

Вы можете запускать два запроса одновременно 1) вставьте сообщение в базу данных mysql, а затем получите идентификатор последней измененной строки. 2) обновите эту конкретную строку с помощью полученного идентификатора и выполните команду обновления таблицы для этой конкретной строки с новым именем 001.jpg Пишите, если вам нужен реально работающий код

И auto_increment также даст вам числа от 0 и так далее. Если вам нужны такие числа, используйте php base_convert()

Я продолжаю с примером кода, который я сказал.

Первый запрос будет как

INSERT into table (name, post) VALUES ('$NAME', '$POST_STRING') ;

$lastID = mysqli_insert_id($con);

**Второй запрос на обновление для вставки изображения будет выглядеть как **

UPDATE table SET img = '$lastID' WHERE Id = '$lastID'