回覆列表
  • 1 # 金融巫師

    在做update的時候,經常會遇到想把a表的值,透過公共欄位連線修改成b表的值

    這時候在oracle中,可以使用

    update <table1_name> tab1set <column_name> = (select <column_name> from <table2_name> tab2 where tab1.**=tab2.**);

    但是相同的操作在mysql中操作,就會報錯,錯誤大概:

    [Err] 1093 – You can’t specify target table ‘tab1’ for update in FROM clause

    原因是對同一張表進行了讀寫操作,那麼在mysql可以用join的方式去做update:

    update <table1_name>,<table2_name>

    set <table1_name>.** = <table2_name>.**

    where <table1_name>.** = <table2_name>.**; —–公共欄位

  • 中秋節和大豐收的關聯?
  • 普拉蒂尼承認98年世界盃抽籤時作弊了,你怎麼看?