我可以用php其他语言解决它,但我渴望学习更多的SQL.
有没有办法解决这个问题:
我有两个表(我不能改变结构),一个content有一些数据,另一个content_info有一些额外的信息.它们是这样的:content.id = content_info.content_id.
我想怎么办:如果没有数据集,content_info但是content,我想将它复制过来,使得在年底有相同数量的两个表中的数据集.我试过这种方式,但不幸的是它不起作用:
...
BEGIN
(SELECT id, ordering FROM content;)
cont:LOOP
@cid = SELECT content_id FROM content_info WHERE content_id = (id)
IF @cid != (id) THEN
INSERT INTO content_info SET content_id = (id), ordering = (ordering)
ITERATE cont;
END IF;
END LOOP cont;
END
..
Run Code Online (Sandbox Code Playgroud)
有人有想法,还是最终不可能?提前致谢!
我在构建模型时收到此错误消息:
When using the attribute ATTR_AUTO_ACCESSOR_OVERRIDE you cannot use the field name "attribute" ...
Run Code Online (Sandbox Code Playgroud)
问题是,我必须使用此字段名称,因为它位于由virtuemart创建和使用的表中.别名也不起作用.
product_attribute: { name: product_attribute as attribute, type: clob(16777777) }
Run Code Online (Sandbox Code Playgroud)
那么,我该怎么办?我可以ATTR_AUTO_ACCESSOR_OVERRIDE关闭或者我遇到问题吗?万一我可以,我怎么能这样做?
ATTR_AUTO_ACCESSOR_OVERRIDE关闭会有问题吗?如果有一个(或更多),它会是什么?
我很感谢任何建议!
附加信息:
BaseJosVmProduct中的定义: @property clob $product_attribute
的schema.yml:
JosVmProduct:
columns:
product_id: { type: int, notnull: true, unique: true, primary: true, autoincrement: true }
vendor_id: { type: int, notnull: true, default: 0 }
product_parent_id: { type: int, notnull: true, default: 0 }
product_sku: { type: string(64), , notnull: true, default: '' }
product_s_desc: …Run Code Online (Sandbox Code Playgroud)