如何基于另一张表的distinct值创建带自增主键的SQL数据表
SQL 脚本实现方案
需求为从orders表提取去重的客户名称,创建带自增主键的客户信息表,不同数据库的实现语法略有差异,常见数据库写法如下:
MySQL 版本
-- 创建客户信息表,自增id作为主键 CREATE TABLE customers ( id INT AUTO_INCREMENT PRIMARY KEY, customer_name VARCHAR(255) NOT NULL ); -- 插入去重后的客户数据 INSERT INTO customers (customer_name) SELECT DISTINCT Customer FROM orders;
PostgreSQL 版本
-- 创建客户信息表,自增id作为主键 CREATE TABLE customers ( id SERIAL PRIMARY KEY, customer_name VARCHAR(255) NOT NULL ); -- 插入去重后的客户数据 INSERT INTO customers (customer_name) SELECT DISTINCT "Customer" FROM orders;
SQL Server 版本
-- 创建客户信息表,自增id作为主键 CREATE TABLE customers ( id INT IDENTITY(1,1) PRIMARY KEY, customer_name VARCHAR(255) NOT NULL ); -- 插入去重后的客户数据 INSERT INTO customers (customer_name) SELECT DISTINCT Customer FROM orders;
执行完成后生成的customers表数据示例:
id | customer_name ------------------- 1 | Nancy 2 | Bob
可根据实际业务场景调整customer_name字段的类型和长度。
内容的提问来源于stack exchange,提问作者Skullomania
相关产品推荐
相关产品推荐

