как добавить автоматически сгенерированный буквенно-цифровой ключ в id_column - PullRequest
0 голосов
/ 24 июня 2019

Что происходит, если пользователь заходит на сайт, заполняет, создает новую форму продукта с полями заголовка, описания, цены и так далее ...

Я хочу сохранить уникальный сгенерированный буквенно-цифровой ключ в моем столбце 'id', который по умолчанию имеет значение auto_increment, используйте этот уникальный ключ в качестве моего product_id. Как и у каждого видео на Youtube, есть собственный сгенерированный уникальный ключ, а не идентификатор типа '1', '2', '3' ....

Я генерирую этот ключ, используя "uniqid();" function .

Пожалуйста, дайте мне знать, если я делаю это неправильно или есть лучший способ сделать это. Я полный новичок.

1 Ответ

1 голос
/ 24 июня 2019

Следующие две вещи не могут быть истинными одновременно:

  • уникальный сгенерированный буквенно-цифровой ключ
  • столбец 'id', который по умолчанию имеет значение auto_increment

У вас не может быть буквенно-цифрового ключа, который является auto_increment, потому что по определению буквенно-цифровой означает строку, созданную с алфавитами и числами, и вы не можете автоматически увеличивать алфавиты, имеет смысл?

Так что я предлагаю вам оставить «id»введите числовые значения как 1, 2, 3 и т. д. и создайте еще один столбец в таблице, назовите его «unique_id», скажем так.Конечно, вы можете назвать это как угодно.Это должен быть тип VARCHAR (255).

А затем заполните этот столбец, используя следующие функции:

$bytes = 12;
$uniqueId = bin2hex(openssl_random_pseudo_bytes($bytes)); //this will create 24 char alphanumeric string, you can increase or decrease it by changing the $bytes

и поместите этот $uniqueId в свой столбец и вуаля, у вас есть уникальныйидентификатор сущности.

ОБНОВЛЕНИЕ

Чтобы показать буквенно-цифровой уникальный идентификатор в вашем URL, вам необходимо изменить структуру URL с /localhost/product/product_id на /localhost/product/product_unique_id и я предполагаю, что у вас есть где-то ваш продукт с какой-то гиперссылкой, щелкнув по которой вы перейдете на страницу сведений о продукте, верно?

Допустим, у вас есть продукт с идентификатором 1 и уникальным идентификатором lt4Zhr7.так просто, когда вы перечисляете продукты, вы даете уникальный идентификатор продукта, например, так:

<a href="/localhost/product/lt4Zhr7"> Product 1 </a>

Это базовое решение, которое должно направлять вас в правильном направлении, ваш фактический код может отличаться на основев зависимости от используемой вами структуры или другого фактора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...