繁体   English   中英

sql插入到表中已变为另一个表和常量值

[英]sql insert to table realted to another table and constant values

我有2个SQL表,即table1和table2。

table1有两列,我想在这些列中插入值。 其中一列应获取静态值,另一列应获取值是来自table2的查询结果。

如果我想分别插入静态数据,我会做:

INSERT INTO table1(login_id)
VALUES ('1234');

如果我想单独插入动态值,则可以执行以下操作:

INSERT INTO table1(user_uuid)
SELECT users_uuid FROM table2 where first_name like 'ortal';

如何在一个动作中将两个值都插入到table1中?

如果我尝试第一个查询,我得到:

11:20:45    INSERT INTO table1(login_id ,user_uuid) VALUES ('1234') Error Code: 1136. Column count doesn't match value count at row 1   0.000 sec

INSERT INTO `users`.`table1` (`login_id`) VALUES ('1234');

ERROR 1364: 1364: Field 'user_uuid' doesn't have a default value

您可以将常量添加到选择列表中,并在列中对其进行处理:

INSERT INTO table1(user_uuid, login_id)
SELECT users_uuid, '1234' FROM table2 WHERE first_name LIKE 'ortal';

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM