我尝试使用mysql执行insert选择。 是否可以插入这样的数据?还是有其他方法可以做到这一点?
A = 17
INSERT INTO TABLE1 (x1, x2, x3)
SELECT (Y,Z) FROM TABLE2
WHERE CONDITION, A
谢谢,
答案 0 :(得分:0)
从查询的外观来看,您似乎希望在A
列中插入x3
。您的查询应如下所示:
INSERT INTO TABLE1 (x1, x2, x3)
SELECT Y,Z,A FROM TABLE2
WHERE CONDITION
或者你可以直接插入A
的值,假设它是一个整数。
INSERT INTO TABLE1 (x1, x2, x3)
SELECT Y,Z,17 FROM TABLE2
WHERE CONDITION
答案 1 :(得分:0)
如果它没有意义的话,请稍微查看一下INSERT ... SELECT Syntax。
INSERT INTO TABLE1 (x1, x2, x3)
SELECT Y,Z,A FROM TABLE2
WHERE A = 17
有时您还想插入硬编码的详细信息(例如17
),否则可能存在唯一约束失败等。因此,在您覆盖列的某些值的情况下使用以下内容。
INSERT INTO TABLE1 (x1, x2, x3)
SELECT Y,Z,17 FROM TABLE2
答案 2 :(得分:0)
这应该有效
INSERT INTO TABLE1 (x1, x2, x3)
SELECT Y,Z,17 FROM TABLE2
WHERE CONDITION
答案 3 :(得分:0)
也许是这样的?
INSERT INTO TABLE1 (x1, x2, x3)
SELECT (X,Y,Z) FROM TABLE2
WHERE A = 17
答案 4 :(得分:0)
从选择陈述中获取
INSERT INTO TABLE1 (x1, x2, x3)
SELECT (Y,Z,17) FROM TABLE2
WHERE CONDITION;