我有一个大表测试,其中 user_id 2 有 500000 条记录。所以我想以 100 条记录为一组删除这条记录,但它给出了错误。这是我的查询:
delete from test where test_id in (select test_id
from test where User_id = 2 limit 100 )
错误:元组同时更新
什么问题。我该如何解决。
我有一个大表测试,其中 user_id 2 有 500000 条记录。所以我想以 100 条记录为一组删除这条记录,但它给出了错误。这是我的查询:
delete from test where test_id in (select test_id
from test where User_id = 2 limit 100 )
错误:元组同时更新
什么问题。我该如何解决。
我有一个表 abc,其中一个列名,其中一些数据已编码,有些未编码。当我运行解码查询时,发现异常。如何处理。此表中有大量行。
create table abc
(
id serial primary key,
name varchar(500)
)
select decode(name,'base64') from abc;
发生异常:SQL状态:22023
现在如何将所有非编码数据转换为编码数据?或者我该如何处理这个异常。
select encode('नमस्त', 'base64');
encode
──────────────────────
4KSo4KSu4KS44KWN4KSk
select decode('4KSo4KSu4KS44KWN4KSk','base64');
decode
──────────────────────────────────
\xe0a4a8e0a4aee0a4b8e0a58de0a4a4
为什么这不返回印地语文本?
整理:en_US.UTF-8 Ctype:en_US.UTF-8
我有一个表,其中一列是自动递增序列号。我也希望将相同的值存储在另一列中(以便以后可以更改)。
我的表结构是这样的:
CREATE TABLE Test
(
test_id integer NOT NULL DEFAULT nextval('test_id_seq'::regclass),
...
...
uid integer not null DEFAULT currval('test_id_seq'::regclass),
)
我想要uid = test_id
,但问题是在一个会话中插入多行时。然后currval
不采用正确的ID。
我不想使用触发器。我该如何管理它?