0

誰でも助けてください..

SELECT 自身の作品

VALUES を単独で INSERT することもできます。

ノート:

 products_similar has 2 columns VARCHARS
 get_cheaper() - stored routine returning VARCHAR

INSERT INTO ... SELECT で問題が発生したことはありません。

しかし、それらを組み合わせると、以下のエラーが発生します。

SQL クエリ: ドキュメント

INSERT INTO `products_similar` (
`product_sku` ,
`better_priced_sku`
)
SELECT p.product_sku sku, get_cheaper(
p.product_sku
)cheaper_sku
FROM jos_vm_product p;

MySQL は次のように述べています。

#1054 - 「フィールド リスト」の不明な列「product_sku」

get_cheaper(p.product_sku) Cheap_sku をコメントアウトすると、次のように機能します。

TRUNCATE TABLE `products_similar` ;# MySQL returned an empty result set (i.e. zero rows).
INSERT INTO `products_similar` (
`product_sku` ,
`better_priced_sku`
)
SELECT p.product_sku sku, p.product_sku sku# , get_cheaper(p.product_sku) cheaper_sku

FROM jos_vm_product p;# Affected rows: 43882
4

3 に答える 3

1

おそらく、これは rename: によるものですSELECT p.product_sku sku。product_sku の列名が必要です。

于 2009-08-05T15:09:12.200 に答える
0

これがmysqlマニュアルからのこの質問への答えです:

次の列の定義は、それぞれの可能性を示しています。

自動初期化と自動更新:ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

自動初期化のみ:ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP

自動更新のみ:ts TIMESTAMP DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP

どちらでもない:ts TIMESTAMP DEFAULT 0

あなたは最後のものに興味があります-タイムスタンプのデフォルト値を0に設定した場合、それは自動的に更新されません

于 2011-10-04T19:00:34.797 に答える
0

クエリのこの部分はそれ自体で機能しますか?

SELECT p.product_sku sku, get_cheaper(p.product_sku)cheaper_sku
FROM jos_vm_product p;

編集:

それが機能するので、そこからビューを作成してみてください。

CREATE VIEW products_similar 
AS SELECT p.product_sku sku, get_cheaper(p.product_sku)cheaper_sku
FROM jos_vm_product p;

通常のテーブルと同じようにビューをクエリできます

于 2009-08-05T16:15:13.557 に答える