我有一个
MySQL数据库有两个表(实际上还有更多).第一个表将产品的SKU编号链接到任意ID.第二个表根据此ID记录每个项目的日终库存.当库存因销售以外的原因而更改时,在第二个表中放置一条记录,其布尔值设置为false.这让我可以说这个新号码作为以前销售的矢量无效,但是适用于第二天的销售.
此代码中存在一些语法错误.我还是一名学生,非常感谢帮助解释这种更新是如何工作的.我知道第一个值需要来自select语句吗?
这是我目前的MysqL声明:
REPLACE INTO sales (`itemID`,`date`,`qty`,`price`) VALUES ([itemID],CURDATE(),[qty],0.00) SELECT itemID FROM item WHERE `sku` = [sku]
替换像插入一样的工作,除非您尝试插入具有相同键的行,它将在替换时删除而不是给您一个错误.
原文链接:https://www.f2er.com/php/134784.html您可以直接指定参数:
REPLACE INTO sales( `item_id`,`price` ) VALUES( 15,'2012-01-01`,5,'120.00' )
或使用SELECT指定它们:
REPLACE INTO sales( `item_id`,`price` ) SELECT item_id,date,qty,price FROM sales_to_accept WHERE sales_id = 721
但是,您不能在一个查询中混合使用这两种语法.
但是没有什么可以阻止你将常量值添加为SELECT的列:
REPLACE INTO sales( `item_id`,'74.00' FROM item WHERE `sku` = 'something'