任何人都可以帮忙..
选择自己的作品
使用VALUES自行插入也可以。
请注意:
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)cheaper_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
答案 0 :(得分:1)
据推测,这是由于重命名:SELECT p.product_sku sku
。期望产品名称为product_sku。
答案 1 :(得分: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;
您将能够像普通表一样查询视图
答案 2 :(得分:0)
以下是来自mysql manual的问题的答案:
以下列定义说明了每种可能性:
自动初始化和自动更新: ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP更新CURRENT_TIMESTAMP
仅限自动初始化: ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP
仅限自动更新: ts TIMESTAMP DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP
既不: ts TIMESTAMP DEFAULT 0
您对最后一项感兴趣 - 如果您将时间戳的默认值设置为0,则不会自动更新