Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 数据库结构/已定义和未定义的字段值_Mysql_Database_Structure - Fatal编程技术网

Mysql 数据库结构/已定义和未定义的字段值

Mysql 数据库结构/已定义和未定义的字段值,mysql,database,structure,Mysql,Database,Structure,我使用的是MySQL,有一个articles表,它有两列:currency和price,但是一篇文章也可以有协商价格,所以我无法确定currency和price值 我应该怎么做才能定义和协商价格?如果协商价格是特定于用户/企业的,那么这可能是一对多关系,您需要一个元组表来保存价格并将文章链接到另一个对象 e、 g: (我假设价格是与用户协商的) 然后,您只需将左键联接到此表并使用NVL(user\u article\u price.price,article.price) 以获取重写的值 注意:

我使用的是MySQL,有一个
articles
表,它有两列:
currency
price
,但是一篇文章也可以有
协商价格
,所以我无法确定
currency
price


我应该怎么做才能定义和协商价格?

如果协商价格是特定于用户/企业的,那么这可能是一对多关系,您需要一个元组表来保存价格并将文章链接到另一个对象

e、 g: (我假设价格是与用户协商的)

然后,您只需将
左键联接到此表并使用
NVL(user\u article\u price.price,article.price)
以获取重写的值


注意:使用2个id列制作复合主键可能是一个好主意,以阻止重复值。

如果协商价格特定于用户/企业,那么这可能是一对多关系,您需要一个元组表来保存价格并将文章链接到另一个对象

e、 g: (我假设价格是与用户协商的)

然后,您只需将
左键联接到此表并使用
NVL(user\u article\u price.price,article.price)
以获取重写的值


注意:使用2个id列创建复合主键以阻止重复值可能是一个好主意。

是的,它是一对多的。
用户可以有许多文章,但问题是如何确定文章可以有准确的协商价格。。。我被要求用
currency
price
列定义协商价格,方式如下:
currency=nil
price=-1
我不知道选择替代价格时使用的逻辑是什么?在我的示例中,我选择覆盖,如果它优先于使用NVL的实际价格。当然,您可以选择两种价格,并根据您的需要使用这些值。是的,这是一对多用户可以拥有多篇文章,但问题是如何确定该文章可以具有精确和协商的价格。。。我被要求用
currency
price
列定义协商价格,方式如下:
currency=nil
price=-1
我不知道选择替代价格时使用的逻辑是什么?在我的示例中,我选择覆盖,如果它优先于使用NVL的实际价格。当然,您可以选择这两种价格,并根据需要使用这些值。
CREATE TABLE user_article_price (          
    articleid INT,          
    userid    INT,        
    price     DECIMAL(13,2)
)