如果我尝试使用以下查询更改'askexpert'表的usertypeid属性的值:
UPDATE aura_users_logins SET user_types_id="some value" WHERE user_profiles_id="some value";
它抛出错误:
foreign key constraint fails (`aura`.`askexpert`, CONSTRAINT
fk_askexpert_aura_users_logins` FOREIGN KEY (`user_id `aura_users_logins_user_types_id`)
REFERENCES `aura_users_logins` (`user_id`, `user_types_id`).
但我可以使用以下查询更改Userid。
UPDATE aura_users_logins SET user_profiles_id="some value" WHERE uuser_profiles_id="some value";
答案 0 :(得分:1)
但我可以使用以下查询更改Userid
UPDATE aura_users_logins SET user_profiles_id
不,你没有。您正在更新user_profiles_id
列。
如果你真的想,请做
SET FOREIGN_KEY_CHECKS = 0
第一。稍后再将其重新设置为1
。
答案 1 :(得分:1)
最好看看你的表结构,但似乎你的“askexpert”表有一个“aura_users_logins”列的外键(user_id
,user_types_id
)
如果更新“user_types_id”列,“askexpert”上的行将没有有效的引用。
如果您想更新价值,请:
答案 2 :(得分:0)
因为“aura_users_logins”有一个外键“user_types_id”,它指的是其他表的主键。所以,你必须确保另一个表包含密钥作为主键,你在查询中更新。
UPDATE aura_users_logins SET user_types_id="some value" WHERE user_profiles_id="some value";
“some value”必须在其他表中作为主键。