我有一个wp_users
表中的数据,我想将该表中的数据(ID列除外)复制到另一个表中,名为wp_users2
。如何从mySql中的EXECUTE语句插入数据?
如果我不关心id
列,这是我想自动递增,我可能只是这样做:
insert into wp_users2 (select *, NULL as ID from wp_users)
所以我知道我可以通过键入的所有列的做到这一点标题除ID和手动选择一个为NULL,
SELECT NULL as id, col2, col3...
但我想动态地做它。我读this great S.O. post关于如何做到这一点,它的工作原理,但是我不知道如何把它给我的数据,并把它放入一个插入语句。
INSERT INTO wp_users2 (
SET @sql = CONCAT('SELECT NULL as ID,',
(SELECT REPLACE(GROUP_CONCAT(COLUMN_NAME), 'ID,', '')
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'wp_users'
AND TABLE_SCHEMA = 'wp1'),
' FROM wp_users');
PREPARE stmt1 FROM @sql;
EXECUTE stmt1;
)
什么是对于正确的语法?
漂亮和干净。谢谢。 – cwd 2011-04-21 17:26:02