0

mysql データベースのメタ説明タグについて、製品の説明段落の最初の文だけをコピーしようとしています。例えば。この製品説明では、products_description フィールドから products_meta_description フィールドにコピーする最初の文が必要です。

「Kendall Howard 8U コンパクト シリーズ SOHO サーバー キャビネット ラックは、スペースが限られている IT セットアップに最適です。洗練された耐久性のあるデザインは、サーバーの安全性を犠牲にすることなくコンパクトなデザインを望む中小企業、ホーム オフィス、または IT プロフェッショナル向けに特別に構築されています。ラック機器」。

「Kendall Howard 8U コンパクト シリーズ SOHO サーバー キャビネット ラックは、限られたスペースの IT セットアップに最適です。」として、products_meta_description にコピーする必要があります。

UPDATE products SET products_meta_description = products_description(1st sentence only)

それを行う方法がわからない。段落で見つかった最初のピリオド (.) を見つけて、その前のすべてを取得したと思います。ところで、私はphpmyadmin sqlクエリツールでこれをやっています。何千もの製品があるので、手動で行うよりも、製品ごとに定型のメタ ディスクリプション タグを入力するのが最も簡単な方法だと思いました。

4

2 に答える 2

3

MySQL のSUBSTRING_INDEX関数はこれに最適です。

UPDATE products
SET products_meta_description = SUBSTRING_INDEX(products_description, '.', 1)

これにより、最初の期間のに来るすべてが得られます。期間も必要な場合は、CONCATそれを結果にするのが最も簡単です。

UPDATE products
SET products_meta_description = CONCAT(SUBSTRING_INDEX(products_description, '.', 1), '.')
于 2013-06-20T17:07:14.540 に答える
2

MySQL の機能SUBSTRING_INDEXは次のことに役立ちます。

UPDATE products SET products_meta_description = SUBSTRING_INDEX(products_description, '.', 1)

このクエリは、「products_description」フィールドからのテキストを使用して「products_meta_description」フィールドを更新し、「.」が最初に出現するまで更新する必要があります。

終止符は含まれていないため、必要な場合は文字列を連結して追加する必要があります (最初の引数は空の区切り記号です)。

UPDATE products SET products_meta_description = CONCAT_WS('', SUBSTRING_INDEX(products_description, '.', 1), '.')

ソース

于 2013-06-20T17:19:03.090 に答える