我有一个应该是一个相对简单的问题,我需要一个解决方案。我是SQL的初学者,非常感谢任何帮助。
我一直在尝试从我的客户'中的一列(债券)导入所有独特的字符串。表,我在我的' bond'中创建的新专栏。表
我一直在使用以下代码:
INSERT INTO bonds(bond_customer_name) SELECT DISTINCT bond FROM customer;
当SELECT DISTINCT自己选择正确的25条记录时,我运行上述查询时会导入1500多条记录,其中很大一部分字段为NULL。
新的bond_customer_name列与原始绑定列(VARCHAR(16))具有相同的数据类型。
答案 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;
感谢所有帮助过的人,这给了我理想的结果!