【问题标题】:Should I use AI on these fields in MySQL?我应该在 MySQL 的这些字段上使用 AI 吗?
【发布时间】:2011-01-12 18:35:01
【问题描述】:

我在下面有这个数据库。我想知道我应该如何使用 ID 来识别每条记录。 一切都从classified_table 连接起来! 两个问题:

在这种情况下,我应该在每个 PK 上都使用 AI 吗?

谁能给我一个完整的代码,让我只从ad_id(例如“bmw_330ci_8939483”)中选择一个完整的分类?

我是规范化 db 的新手,并且正在制作一个良好的数据库,因此非常感谢详细的说明......另外,如果您发现此 db 中有任何“错误”,请告诉我。

category table:
cat_id (PK)
cat_name

category_options table:
option_id (PK)
cat_id (FK)
option_name

option_values table:
value_id (PK)
option_id (FK)
value

classifieds table:
classified_id (PK)
ad_id (VARCHAR) something like "Bmw330ci_28238239832" which will appear in URL
poster_id (FK)
cat_id (FK)
area_id (FK)
headline
description
price
etc....

posters table:
poster_id (PK)
name 
email
tel
password

area table:
area_id (PK)
area
community

谢谢

【问题讨论】:

  • 在这种情况下你所说的人工智能是什么意思?
  • Allen Iversion 还是人工智能?我猜在这种情况下会自动递增。
  • 我在想 Haley Joel Osment:imdb.com/title/tt0212720
  • 啊,PK是主键,现在我明白了。 @OP,请R不要像那样使用A,而不是E得到它们;)

标签: php sql mysql database indexing


【解决方案1】:

为您的 PK 使用自动增量听起来很明智,因为听起来您已经想使用代理键,而自动增量使插入变得非常简单。值得看看这个关于how to pragmatically choose what primary key to use 的讨论。

【讨论】:

    【解决方案2】:

    我会在我会进行大部分搜索的字段上自动递增 (AI)。 AI 可以更轻松地返回结果,但存在性能问题,可能会降低数据库速度。

    关于查询,我不确定您要返回什么,但此查询通过给定的 ad_id 返回 classified_id

    SELECT classified_id FROM classifieds_table WHERE ad_id = "bmw_330ci_8939483" 
    

    要在您的 classifieds 表 和列 ad id 中执行单次插入,audi a4 的值将是:

    INSERT INTO classifieds_table ad_id VALUES "audi_a4"
    

    或者使用同一个表、多个字段和多个值的多个插入将是:

    INSERT INTO classifieds_table (ad_id, poster_id) VALUES ("audi_a4", 10)
    

    请注意,我省略了classified_id,因为如果您选择自动递增,它将自动分配一个值,而无需您明确分配。

    查看MySQL :: Building a Database-Driven Website using PHP and MySQL 了解更多教程。

    【讨论】:

    • 好的,谢谢!您能否也回答这个问题:我应该如何在这些表格中插入广告?多个 ""insert into 语句?
    • 广告是什么意思?如果你给我更多的细节,我可以提供帮助
    • 对不起,我的意思是分类(我的网站是分类网站)。例如,用户填写表格以插入分类。然后我在将其实际插入表格时遇到问题。我真的不知道从哪里开始......你明白吗?谢谢
    • 我尝试在上面演示插入的基础知识,希望对您有所帮助。
    • 好的,我明白了,但这是否意味着我必须为每个表都插入新的内容?然后为每个插入语句执行一个 mysql_query() 对吗?再次感谢!
    猜你喜欢
    • 2010-12-15
    • 2018-06-21
    • 2011-08-24
    • 1970-01-01
    • 2021-11-12
    • 1970-01-01
    • 1970-01-01
    • 2012-07-28
    • 2011-02-09
    相关资源
    最近更新 更多