MySql从一个表插入另一个表,其中一个字段不为null

时间:2011-02-23 11:33:17

标签: mysql

我有一张表“电话簿”,其中有1.5M记录, 一些记录的“phonenumber”字段为空。

我想将“phonenumber”字段不为空的所有记录复制到另一个表中。 即使它看起来很简单,我也无法让它发挥作用。

这是我的代码:

INSERT INTO phonebook2 (company,zip,city,address,tags,phonetype,phonearea,phonenumber)
SELECT company,zip,city,address,tags,phonetype,phonearea,phonenumber
FROM phonebook WHERE phonenumber != null && phonenumber != "";

我没有得到任何错误, 但我得到“0行受影响”。 在手动搜索记录时,我确实看到了phonenumber的NULL值。

有什么建议吗?

**我尝试在没有WHERE部分的情况下运行相同的查询,它确实传输了所有记录。

3 个答案:

答案 0 :(得分:5)

使用IS NOT NULL代替!= null

来源:MySQL manual

答案 1 :(得分:2)

使用IS NOT NULL而不是!= null

答案 2 :(得分:1)

另一个选择是使用IS NOT NULL而不是

WHERE EXISTS (SELECT phonenumber
FROM  phonebook)