Для меня работал следующий параметр:
NAME="par1-par2-par3"
echo $(TMP=${NAME%-*};echo ${TMP##*-})
Выход:
par2
Вы используете одно и то же имя столбца 2 раза, как shId
Попробуйте использовать, как показано ниже
CREATE TABLE schedules(
shID INT,
openTime TIME,
closeTime TIME,
shopID int FOREIGN KEY REFERENCES Shops(ShopID) ON DELETE CASCADE
);
Я думаю, вы только что пропустили скобку
CREATE TABLE schedules(
shID INT,
openTime TIME,
closeTime TIME,
FOREIGN KEY (shID) REFERENCES Shops (ShopID) ON DELETE CASCADE
);