php - 关于商品无限极分类Mysql表设计
黄舟
黄舟 2017-05-16 12:02:51
0
6
622

目前有三张表, 1: goods 商品主表 id name price

2: goods_type 商品类型表 tid name 3: goods_type_map 商品和商品类型关系表 id gid gtid

之前的表结构如上,现由于商品对应类型可以为一对多,一件商品可以对应多个类型,我每次更新商品所属类型时需要现将关系表已存在的内容删除再插入新的类型关系。

goods 表:

id name price goods_type 1 洗面奶 22 1,8 2 面膜 33 11

goods_type表

tid name 1 化妆品 8 护肤品 11 保健品

故想更改为: 在商品主表中增加 goods_type 字段,来取代goods_type_map表,多个类型使用逗号隔开.

但目前出现问题,当查询某个类型的商品时,使用Like查询会经常查询错误。 所以想问下这种情况应该怎么处理

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

membalas semua (6)
大家讲道理

Menggunakan suka bukanlah pilihan yang baik Saya mengesyorkan fungsi Mysql find_in_set yang sepatutnya dapat menyelesaikan keperluan poster asal. Dokumentasi rasmi: https://dev.mysql.com/doc/ref...

    洪涛

    Anda juga boleh mempertimbangkan untuk menggunakan prosedur tersimpan untuk pelaksanaan rekursif, tetapi ini tidak disyorkan klasifikasi Infinite itu sendiri bukanlah reka bentuk pengalaman pengguna yang baik, apatah lagi ia akan meningkatkan tekanan pada pelayan dan pangkalan data.

      曾经蜡笔没有小新

      Gunakan pertama seperti untuk mengetahui sebahagian daripada data, kemudian gelung in_array() untuk menapis, atau menukar struktur jadual

        伊谢尔伦

        Ini jelas merupakan hubungan ramai-ke-banyak.
        Jadi saya rasa lebih baik anda simpan tiga meja.
        Ini lebih sesuai dengan paradigma.

          淡淡烟草味

          Sepatutnya lebih munasabah untuk mematuhi paradigma Jika anda bertegas dengan idea asal, tambahkan pemisah sebelum dan selepas setiap ID kategori, dan tambahkan pemisah apabila dipadankan dengan suka

          .
            PHPzhong

            Apabila anda menggunakan suka, sebagai contoh, jika anda mempunyai nilai seperti 1,2,11 suka 1 akan suka 1 dan 11
            Dalam kes ini, sila gunakan find_in_set

            Kalau berkeras nak guna like, nilai medan boleh jadi macam ni, 1,2,11 bila suka, suka ,1 pun boleh capai tujuan

              Muat turun terkini
              Lagi>
              kesan web
              Kod sumber laman web
              Bahan laman web
              Templat hujung hadapan
              Tentang kita Penafian Sitemap
              Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!