我有一个名为customer_config的表。我有四个记录。
id customer_name cust_id currency_code
1 test 1 (null)
2 alpha 1 (null)
3 beta 1 (null)
4 clone 1 (null)
id列不应为null且唯一。
我想将所有这些记录克隆到另一个客户,即:cust_id =2
;
我正在尝试下面的查询,如
INSERT INTO customer_config(cust_id, customer_name, currency_code)
SELECT 2, customer_name, currency_code
FROM customer_config
WHERE cust_id = 1;
这里我不能通过添加序列来介绍/更新customer_config表。
有了任何逻辑,我可以插入记录。
您的帮助将不胜感激
注意:
错误就像 17:55:38 [INSERT - 0行,0.583秒] [代码:0,SQL状态:23502]错误:列“id”中的空值违反非空约束 详细信息:失败的行包含(4,null,sslProtocol,1,SSL,null)。 ...执行1条语句,0行受影响,执行/获取时间:0.583 / 0.000秒[0成功,1错误]
答案 0 :(得分:0)
您的id
列显然没有默认值。因此,您必须显式插入其值。如果您有此列的序列,您可以尝试:
INSERT INTO customer_config(id, cust_id, customer_name, currency_code)
SELECT NEXTVAL('id_sequence'), 2, customer_name, currency_code
FROM customer_config
WHERE cust_id = 1;
其中id_sequence
是该序列的名称。