SQL:如何SELECT字符串和INSERT INTO新表

时间:2014-11-08 15:45:16

标签: mysql

尝试从wordpress表中选择某些元键/值并将它们插入到新表中。但是,目标元值是一个字符串,下面的查询只复制" employer_address"的第一个单词。

我可以修改此选项以将整个选定的字符串复制到新表吗?

INSERT INTO post_addresses (id, address)
SELECT post_id, meta_value
FROM wordpress_postmeta
WHERE meta_key = 'employer_address'

3 个答案:

答案 0 :(得分:0)

是的,你可以。假设post_id用于id,meta_value用于地址,

INSERT INTO post_addresses(id, address) 
VALUES(
       (SELECT post_id FROM wordpress_postmeta WHERE meta_key = 'employer_address'),
       (SELECT meta_value FROM wordpress_postmeta WHERE meta_key = 'employer_address')
   )

答案 1 :(得分:0)

@Mike你绝对正确 - 问题是接收表不是接受完整字符串的正确数据类型。我更改了类型VARCHAR,现在上面的查询有效。 - David B刚刚编辑

答案 2 :(得分:0)

此查询会将post_id,meta_value中的所有内容复制到post_addresses中。

但是如果它没有复制整个数据,则可能意味着post_addreses表中的列的长度小于meta_value。根据您的SQL模式,这可能会返回错误或警告。