3

我需要从原始表中复制数据并添加查询中指定的自定义列

原始表结构: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 代码编辑令人难以置信的丑陋数据库

4

3 回答 3

3

第二个语句几乎是正确的,但不是 , 而是'x' = null使用null x(我假设您想将一个null值存储在名为 的列中x);

INSERT INTO newtable 
SELECT null x, o.* FROM original o WHERE cond
于 2012-08-26T19:54:43.967 回答
2
Select Null as X, *
into newtable
from original
where ...
于 2012-08-26T19:53:18.227 回答
1
INSERT INTO newtable 
SELECT null as x, col1, col2, col3 FROM original WHERE cond
于 2012-08-26T19:56:43.063 回答