¿Por qué MariaDB, o phpMyAdmin, rechaza mi sintaxis CREATE TABLE para una tabla temporal?

Tengo un error de sintaxis, no sé por qué.

ingrese la descripción de la imagen aquí

CREATE OR REPLACE TABLE appointments (
    AppId int(11)PRIMARY,
    docID int(11),
    patientID int(11),
    AppStart datetime,
    AppEnd datetime,
    PERIOD FOR p(AppStart,AppEnd),         /* <== Error on the `FOR`  keyword. */
    UNIQUE (docId, p WITHOUT OVERLAPS)     /* <== Error on the `UNIQUE`  keyword. */
)
Answer

basado en mi propia reproducción (en MariaDB 10.6, no en su versión 10.4.10), los aspectos destacados del error de sintaxis no corresponden al error de sintaxis real , que es lo que debe colocar PRIMARY KEYen lugar de solo PRIMARY.

Así que ejecuta esto en su lugar:

CREATE OR REPLACE TABLE appointments (
    AppId     int(11) PRIMARY KEY,
    docID     int(11),
    patientID int(11),
    AppStart  datetime,
    AppEnd    datetime,
    PERIOD FOR p(AppStart,AppEnd),
    UNIQUE (docId, p WITHOUT OVERLAPS)
)

Prueba de captura de pantalla:

ingrese la descripción de la imagen aquí