我需要从原始表中复制数据并添加在查询中指定的自定义列
原始表格结构:col1, col2, col3
插入表格结构:x, col1, col2, col3
INSERT INTO newtable
SELECT *
FROM original
WHERE cond
我收到此错误
列数与第1行的值计数不匹配
如何在此单个查询中插入X
值?
我认为这样的事情可以通过
INSERT INTO newtable
SELECT 'x' = NULL, *
FROM original
WHERE cond
有什么想法吗?
是否可以使用*
?因为该表有很多列,X
必须是第一个值
我知道这一切都很糟糕但是我必须用更糟糕的PHP代码编辑不可信的丑陋数据库
答案 0 :(得分:3)
第二个语句几乎是正确的,但不是'x' = null
,而是使用null x
(我假设您要在名为null
的列中存储x
值);
INSERT INTO newtable
SELECT null x, o.* FROM original o WHERE cond
答案 1 :(得分:2)
Select Null as X, *
into newtable
from original
where ...
答案 2 :(得分:1)
INSERT INTO newtable
SELECT null as x, col1, col2, col3 FROM original WHERE cond