【发布时间】:2016-05-23 12:35:04
【问题描述】:
我正在尝试将数据插入到库存表中,从单独的用户表中提取用户 ID 以填充其中一个字段。
Inventory:
ProductID | PurchasedByUser | OtherAttributes
还有一个用户表;
Users:
DBID | UserActive | UserName
1 | 1 | mathew
到目前为止,我的 SQL 看起来像:
INSERT INTO Inventory (ProductID, PurchasedByUser, OtherAttributes)
SELECT 23, U.DBID, 'Yellow'
FROM Inventory U INNER JOIN Users ud
ON U.DBID = ud.DBID AND ud.UserActive = 1 AND UserName = 'mathew'
编辑: 我希望能够发出一个 SQL INSERT 请求来添加 ProductID (INT)、PurchableByUser (Users.DBID)、OtherAttributes (String) 到 Inventory 表,而不暴露 DBID 并且只传递 UserName 字段。
【问题讨论】:
-
为什么要选择
Inventory?并引用您的静态值,例如黄色和马修。 -
什么是23,什么是黄色?然后将 SELECT 与 INSERT 混合使用。这是一个完全无效的查询
-
@dimlucas 你不对 => dev.mysql.com/doc/refman/5.7/en/insert-select.html
-
我不知道,这只是一个示例 SQL 插入,黄色代表 $VariablesFromScript
-
'Yellow' 是字符串吗?是“马修”[原文如此]?
标签: php mysql inner-join