我有两张桌子:
create table test1 (
oldPrimaryKey varchar(100) primary key,
someText varchar(100)
)
create table test2 (
someText varchar(100),
oldPrimaryKey varchar(100) references test1(oldPrimaryKey)
)
CREATE TABLE test1
(
oldprimarykey character varying(100) NOT NULL,
sometext character varying(100),
newprimarykey bigint NOT NULL,
CONSTRAINT keyname PRIMARY KEY (newprimarykey)
)
CREATE TABLE test2
(
sometext character varying(100),
oldprimarykey character varying(100),
CONSTRAINT test2_oldprimarykey_fkey FOREIGN KEY (oldprimarykey)
REFERENCES test1 (oldprimarykey) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION
)
我不知道现在该做什么(一些脚本?)。我需要将表Test2
列OldPrimaryKey
中的值更改为表Test1
列NewPrimaryKey
中的相应值。
如果太混乱,我会试着举一个正常数据的例子:
表1中的行(oldprimarykey、sometext、newprimarykey):
这应该可以做到:
update test2
set newprimarykey = t1.newprimarykey
from test1 t1
where t1.oldprimarykey = test2.oldprimarykey;
SQLFiddle示例:http://SQLFiddle.com/#!15/e558a/1
所以我有一个表,它用一个昵称作为外键,用一个id作为主键: 到目前为止,一切都很好。然而,每当我试图从发布中获取主键时,它告诉我:“没有唯一的约束来匹配引用表“信息”的给定键。 但是,如果我将表中的信息信息ID更改为唯一,错误就会消失。这是正确的做事方式吗? 提前感谢大家!
问题内容: 我正在尝试使我的@OneToMany和@ManyToOne关系正确。 第1类: 第2类: 当我加载或保存新记录时,这种关系似乎运行良好: 但是,当我尝试更新该记录时,它将尝试将IdeaProfileId设置为null: 当我调试时,我可以看到IdeaProfileId确实在音高对象上设置了… 仅供参考,我不是直接更新从数据库加载的原始对象。这些域映射到UI更新的Model类。因此,在保
我的PostgreSQL数据库中有表,有两列:和。是主键,只是另一个具有唯一约束的整数列。 还有其他按主键引用用户的表。 下面是表说明: 以下是说明: 如何将PostgreSQL表中的主键从列替换为列,并保持数据完整性?
问题内容: 我正在尝试使我的@OneToMany和@ManyToOne关系正确。 第1类: 第2类: 当我加载或保存新记录时,这种关系似乎运行良好: 但是,当我尝试更新该记录时,它将尝试将IdeaProfileId设置为null: 当我调试时,我可以看到IdeaProfileId确实在音高对象上设置了… 仅供参考,我不是直接更新从数据库加载的原始对象。这些域映射到UI更新的Model类。因此,在保
我有一个项目,在该项目中,我使用User.php模型文件中的以下命令将用户模型主键从“id”更改为“MemberX”: 受保护的$primaryKey='MemberID' 但是我的护照访问令牌表仍然使用“id”。我想要"MemberX" 身份证件 用户id: 客户端\u id名称作用域已撤销已创建\u在更新\u在过期\u在
我有2个表,你会在下面的posgresql代码中看到。第一个表格学生有2列,一列student_name,另一列student_id主键。在我的第二张测试表中,它有4列,subject_id,subject_name,然后是highestStudent_id中分数最高的学生。我试图让highestStudent_id参考我学生表中的student_id。这是我下面的代码,我不确定语法是否正确: 语