全部產品
Search
文件中心

PolarDB:SQL使用限制

更新時間:Jul 06, 2024

PolarDB-X 1.0高度相容MySQL協議和文法,但由於分散式資料庫和單機資料庫存在較大的架構差異,存在SQL使用限制。本文將介紹相關SQL的使用限制。

SQL大類限制

  • 暫不支援自訂資料類型或自訂函數。
  • 暫不支援預存程序、觸發器、遊標。
  • 暫不支援暫存資料表。
  • 暫不支援BEGIN…END、LOOP…END LOOP、REPEAT…UNTIL…END REPEAT、WHILE…DO…END WHILE等複合陳述式。
  • 暫不支流程式控制制類語句(如IF或WHILE等)。
  • 暫不支援外鍵。

小文法限制

  • DDL
    • CREATE TABLE tbl_name LIKE old_tbl_name不支援拆分表。
    • CREATE TABLE tbl_name SELECT statement不支援拆分表。
    • 暫不支援同時RENAME多表。
    • 暫不支援ALTER TABLE修改拆分欄位。
    • 暫不支援跨Schema的DDL(例如CREATE TABLE db_name.tbl_name (... ))。

    更多關於DDL的資訊,請參見DDL

  • DML
    • 暫不支援SELECT INTO OUTFILE、INTO DUMPFILE和INTO var_name。
    • 暫不支援STRAIGHT_JOIN和NATURAL JOIN。
    • 暫不支援在 UPDATE SET 子句中使用子查詢。
    • 暫不支援INSERT DELAYED文法。
    • 暫不支援SQL中對於變數的引用和操作(例如SET @c=1, @d=@c+1; SELECT @c, @d)。
    • 暫不支援在柔性事務中對廣播表進行INSERT、REPLACE、UPDATE或DELETE操作。

    更多關於DML的資訊,請參見DML

  • 子查詢
    • 不支援HAVING子句中的子查詢,JOIN ON條件中的子查詢。
    • 等號操作行符的標量子查詢(The Subquery as Scalar Operand)不支援ROW文法。

    更多關於子查詢的資訊,請參見子查詢

  • 資料庫管理
    • SHOW WARNINGS文法不支援LIMIT和COUNT的組合。
    • SHOW ERRORS文法不支援LIMIT和COUNT的組合。
  • 運算子

    暫不支援‘:=’賦值運算子。

    更多關於運算子的資訊,請參見運算子

  • 函數

    更多關於函數的資訊,請參見函數簡介

  • 關鍵字
    • 暫不支援MILLISECOND。
    • 暫不支援MICROSECOND。