首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何手动插入值,同时从一个表中选择到另一个表中?

如何手动插入值,同时从一个表中选择到另一个表中?
EN

Stack Overflow用户
提问于 2018-11-19 11:53:25
回答 1查看 29关注 0票数 -2

在这里,我这样做,而不是得到CustomerID的最大值,我得到的是0。

我的CustomerData表:

代码语言:javascript
复制
     Columns

代码语言:javascript
复制
    1   CustomerID      
    2   Name         
    3   PhoneNumber 
    4   Address      

我的OrderTable1表

代码语言:javascript
复制
 Columns

代码语言:javascript
复制
1   OrderID    
2   TableID 
3   OrderDate   
4   OrderStatus
5   OrderDesc   
6   CustomerID

INSERT INTO OrderTable1 (OrderDate,OrderStatus,OrderDesc,CustomerID)
VALUES ('$LenthOfService','$Quantity','$ItemName','(SELECT MAX(CustomerID) FROM CustomerData)');
EN

回答 1

Stack Overflow用户

发布于 2018-11-19 11:57:00

您可以使用INSERT INTO .. SELECT语句。对于输入变量值,我们可以将它们与来自CustomerData表的CustomerID的最大值一起SELECT

代码语言:javascript
复制
INSERT INTO OrderTable1 (OrderDate,OrderStatus,OrderDesc,CustomerID)
SELECT MAX('$LenthOfService') AS OrderDate,
       MAX('$Quantity') AS OrderStatus,
       MAX('$ItemName') AS OrderDesc,
        MAX(CustomerID) AS CustomerID
FROM CustomerData

为了符合ANSI SQL,我们需要在变量值周围使用Max()函数。更多详情请访问:SELECT list is not in GROUP BY clause and contains nonaggregated column .... incompatible with sql_mode=only_full_group_by

而且,您似乎没有使用参数化查询。在这种情况下,您的代码将容易受到与SQL injection相关的攻击。请学习使用Prepared Statements

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53368089

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档