SQL - 使用INSERT INTO和SELECT DISTINCT导致导入NULL值

时间:2015-02-17 12:16:26

标签: mysql sql phpmyadmin

我有一个应该是一个相对简单的问题,我需要一个解决方案。我是SQL的初学者,非常感谢任何帮助。

我一直在尝试从我的客户'中的一列(债券)导入所有独特的字符串。表,我在我的' bond'中创建的新专栏。表

我一直在使用以下代码:

INSERT INTO bonds(bond_customer_name) SELECT DISTINCT bond FROM customer;

当SELECT DISTINCT自己选择正确的25条记录时,我运行上述查询时会导入1500多条记录,其中很大一部分字段为NULL。

新的bond_customer_name列与原始绑定列(VARCHAR(16))具有相同的数据类型。

1 个答案:

答案 0 :(得分:1)

问题是我在为bond_customer_name添加列时创建了一个NULL值列表。相反,我在创建表时使用以下代码创建了一个列名:

CREATE TABLE 'bonds' ('id' int(11) NOT NULL AUTO_INCREMENT,'name' varchar(255) DEFAULT NULL, PRIMARY KEY('id')) DEFAULT CHARSET = UTF8;

然后,我使用以下代码将Customer.bond中存在的唯一字符串成功导入Bonds.name,添加条件WHERE:

INSERT INTO bonds(name) SELECT DISTINCT bond FROM customer WHERE bond IS NOT NULL;

感谢所有帮助过的人,这给了我理想的结果!