Я хочу создать идентификатор для нового сообщения, например 00001, 00002, однако
в то же время мне нужно получить post_id, чтобы назвать URL-адрес изображения xxx/00001_1.jpg
. Так должен ли я реализовать его с помощью mysql(auto_increment)
или php/java API?
🤔 А знаете ли вы, что...
PHP имеет встроенную поддержку сессий для отслеживания состояния пользователей на веб-сайтах.
Для схемы да, просто используйте 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'