Closed. This question needs details or clarity。它当前不接受答案。
想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
3年前关闭。
我想知道一个SQL查询,无论是否设置第一个值,该查询都将逐步更新所有表上的匹配列。
改成 - -
如果新数字与旧数字发生冲突,则可能会产生错误。如果发生这种情况,有多种解决方法。
在解释了这一点之后,这种操作就高度可疑。可能有一些非常罕见的示例,其中有必要这样做,但通常不应修改主键。如果要修改列,则它是实体的属性,而不是实体的标识符。
想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
3年前关闭。
我想知道一个SQL查询,无论是否设置第一个值,该查询都将逐步更新所有表上的匹配列。
Table A
`ACCOUNT_NO` = 10090
`ACCOUNT_NO` = 10091
Table B
`ACCOUNT_NO` = 10090
`ACCOUNT_NO` = 10091
Table C
`ACCOUNT_NO` = 10090
`ACCOUNT_NO` = 10091
改成 - -
Table A
`ACCOUNT_NO` = 12090
`ACCOUNT_NO` = 12091
Table B
`ACCOUNT_NO` = 12090
`ACCOUNT_NO` = 12091
Table C
`ACCOUNT_NO` = 12090
`ACCOUNT_NO` = 12091
最佳答案
如果您的ID是通过声明为on update cascade
的外键连接的(请参见文档here),则可以更新主表中的值,它们会传播到其他表:
update a
set account_no = account_no + 2000;
如果新数字与旧数字发生冲突,则可能会产生错误。如果发生这种情况,有多种解决方法。
在解释了这一点之后,这种操作就高度可疑。可能有一些非常罕见的示例,其中有必要这样做,但通常不应修改主键。如果要修改列,则它是实体的属性,而不是实体的标识符。
关于mysql - MySQL Update逐步匹配所有表上的列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38791888/
10-12 02:33