Я проверил несколько вопросов, касающихся этой ошибки, и большинство из них испытывают эту ошибку при использовании функции «SELECT», но в моем случае я использую CREATE TABLE, ЕСЛИ НЕ СУЩЕСТВУЕТ, но испытываю эту ошибку, вы можете проверить мой код, чтобы увидеть, что вызываетошибка или если вы, ребята, знаете другой способ сделать то же самое.
Я хочу создать таблицу для ежегодного платежа на самом деле, который должен быть ежемесячным, но я пытаюсь по годам прямо сейчас.
/* INSERT HERE THE LIST OF ALL EXISTING PAYMENT TABLES */
DROP TEMPORARY TABLE IF EXISTS T_distinctTable;
CREATE TEMPORARY TABLE T_distinctTable (
ctr int PRIMARY KEY AUTO_INCREMENT NOT NULL,
DisTable varchar (18)
);
INSERT INTO T_distinctTable (DisTable)
SELECT TABLE_NAME from information_schema.tables WHERE TABLE_SCHEMA = 'cams' and TABLE_NAME like concat ('%','Payment_20','%');
SET @endYearTemp = (select count(*) from T_distinctTable);
set @YearNow = (SELECT YEAR(CURDATE()));
set @TableName = concat('Payment_',@YearNow);
set @SQLTable = ('CREATE TABLE IF NOT EXISTS `', @TableName ,'` id int NOT NULL AUTO_INCREMENT, name CHAR(30),PRIMARY KEY (id)');
SELECT @SQLTable;
PREPARE stmt FROM @SQLTable;
EXECUTE stmt;