gpt4 book ai didi

php - 插入到多列的选择中,其中只有一列来自另一个表

转载 作者:行者123 更新时间:2023-11-29 08:08:42 24 4
gpt4 key购买 nike

在正确的 SQL 上苦苦挣扎。尝试将数据插入表中,但只需要插入另一个表中的一列

INSERT INTO customer_details (user_id, firstName, lastName, email, mobile) 
VALUES (SELECT id FROM users WHERE username = ?, ?, ?, ?, ?');

通过以下“bind_param”函数,我将把变量分配给问号

$stmt->bind_param('ssssi', $username, $first_name, $last_name, $email, $mobile_num);   

非常感谢帮助!

最佳答案

尝试13.2.5.1 INSERT ... SELECT Syntax :

INSERT INTO 
customer_details (user_id, firstName, lastName, email, mobile)
SELECT id, ?, ?, ?, ?
FROM users
WHERE username = ?

编辑:检查以下示例以了解 insert ..select 的工作原理:

创建两个表:onetwo

mysql> CREATE TABLE one (x int, y int);
Query OK, 0 rows affected (0.58 sec)

mysql> CREATE TABLE two (x int, y int);
Query OK, 0 rows affected (0.22 sec)

在表 two 中插入一些行:

mysql> INSERT INTO two (x, y)  VALUES (1, 2), (2, 4), (3, 5), (6, 7);
Query OK, 4 rows affected (0.19 sec)
Records: 4 Duplicates: 0 Warnings: 0

mysql> SELECT * FROM `two`;
+------+------+
| x | y |
+------+------+
| 1 | 2 |
| 2 | 4 |
| 3 | 5 |
| 6 | 7 |
+------+------+
4 rows in set (0.03 sec)

one为空:

mysql> SELECT * FROM `one`;
Empty set (0.02 sec)

现在,插入表 one其中每个 x在表中one == y在表中two ,和y在表中one等于变量的值(例如脚本中用户的一些数据)。此外,如果 tow 则将完成插入当条件为真时的行。

mysql> SET @a = 100;  -- variable 
Query OK, 0 rows affected (0.00 sec)

mysql> INSERT INTO one (x, y) SELECT y, @a FROM two WHERE y IN (2, 4, 7) ;
Query OK, 3 rows affected (0.12 sec)
Records: 3 Duplicates: 0 Warnings: 0

现在表one是:

mysql> SELECT * FROM one;
+------+------+
| x | y |
+------+------+
| 2 | 100 | -- 100 is like value from use not from table `two`
| 4 | 100 |
| 7 | 100 |
+------+------+
3 rows in set (0.00 sec)

关于php - 插入到多列的选择中,其中只有一列来自另一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22172906/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com