国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

MySQL 5.7中的子查詢插入失敗
P粉043295337
P粉043295337 2024-01-10 18:12:10
0
1
670

我正在為一個(gè)需要支援多個(gè)可能的資料庫(包括MySQL 5.7)的應(yīng)用程式編寫SQL資料遷移。以下是我目前的程式碼:

UPDATE sandboxes s
SET permission_id = (
  SELECT p.id
  FROM permissions p
  JOIN tables t ON t.id = s.table_id
  WHERE
    p.object LIKE CONCAT('/db/', t.db_id, '/schema/', t.schema, '/table/', s.table_id, '/query/segmented/')
    AND p.group_id = s.group_id
  LIMIT 1
)
WHERE permission_id IS NULL;

在MySQL 5.7上執(zhí)行時(shí)出現(xiàn)錯(cuò)誤Unknown column 's.table_id' in 'on clause'。我猜在5.7版本中,ON子句比後續(xù)版本更嚴(yán)格,因?yàn)樗谄渌姹镜腗ySQL和Postgres中都能正常運(yùn)作。有沒有辦法繞過這個(gè)限制?或者有沒有辦法重寫查詢?我對(duì)SQL不是很擅長,所以任何幫助都將不勝感激。

P粉043295337
P粉043295337

全部回覆(1)
P粉497463473

目前還不清楚為什麼會(huì)出現(xiàn)錯(cuò)誤,但是你可以透過在 UPDATE 查詢中使用 JOIN 而不是子查詢來解決它。

UPDATE sandboxes s
JOIN permissions AS p on p.group_id = s.group_id
JOIN tables AS t ON t.table_id = s.table_id AND p.object = CONCAT('/db/', t.db_id, '/schema/', t.schema, '/table/', s.table_id, '/query/segmented/')
SET s.permission_id = p.id
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板