MySQL 根据产品详细信息创建产品参考代码
Posted
技术标签:
【中文标题】MySQL 根据产品详细信息创建产品参考代码【英文标题】:MySQL create a product reference code based on the product details 【发布时间】:2018-02-27 05:12:10 【问题描述】:我已经搜索过是否存在相同的问题,但我找不到这个或教程的任何答案。
如果在 mysql (product_table
) 中有一个以 product_id
、product_name
、time_created
、reference_code
、product_color
、product_type
、product_price
开头的 8 列的数据库表987654330@.
我只是想知道是否可以根据它周围的字段生成reference_code
,例如product_name
,time_created
。
那么让我们说:
product_name = Hat
time_created = 2017-09-18 17:08:21
product_color = red
我希望 reference_code(reference_code
) 看起来像这样,因为示例可以是以下任何一种,它应该只是基于产品自身的详细信息。
reference_code = Hat2017-09-18red
reference_code = Hat20170918red
reference_code = Hat17:08:21red
任何帮助或描述链接将不胜感激。
【问题讨论】:
是的,当您在表上运行选择查询时,只需使用 + 连接字段。您可以在 SQL 中执行此操作,或者在 php 对象层中的某个位置执行此操作,如果它使事情更灵活的话。无需将值存储在数据库中,因为它是可导出的值。顺便说一句,从设计/用户体验的角度来看,如果您向用户展示它,就好像它是一个唯一的参考编号(它不是!),确保重复是不可能的(例如相同的产品、日期和颜色)并且这些字段以后不能修改(因此引用会发生变化,这会令人困惑)。 在 mysql 5.7.6 + 中,您还可以使用指定的列值创建 virtual generated column。例如:ALTER TABLE product_table ADD COLUMN reference_code VARCHAR(255) AS (CONCAT(product_name, DATE(time_created), product_color)) VIRTUAL AFTER product_color;
。将输出Hat2017-09-18red
。
谢谢你们,有道理,我同意,我也会检查这个解决方案。谢谢
【参考方案1】:
当然可以。
问题是如果你想在你的数据库中作为一个过程来做,还是在 PHP 中做一个结果。
如果您在处理数据时提交表单,您可以创建一个变量并将其分配给相关字段:
$newvariable = $_POST['a'].$_POST['b'].$_POST['c'];
作为一个程序,我建议你看看这个帖子:
how to write procedure to insert data in to the table in phpmyadmin?
【讨论】:
以上是关于MySQL 根据产品详细信息创建产品参考代码的主要内容,如果未能解决你的问题,请参考以下文章