BBO001 Ответов: 1

Mysql продолжает нажимать declare error


Привет, могу ли я узнать, правильно ли это объявить с помощью MySQL? Потому что я продолжаю нажимать ошибку, которая утверждает, что у меня есть ошибка в вашем синтаксисе SQL;

Что я уже пробовал:

<pre>CREATE DEFINER = 'root'@'localhost'
PROCEDURE db.Hello( )
 
BEGIN
DECLARE @Text VARCHAR(MAX);


SET @Text = 'hello';
  END

Garth J Lancaster

Я думаю, что VARCHAR(MAX) - это объявление MS SQL Server- попробуйте

DECLARE @Text VARCHAR(65535);
в качестве замены

1 Ответов

Рейтинг:
1

Sandeep Mewara

Как поделился Гарт в комментариях, VARCHAR(MAX) - это способ SQL Server.

Для MySQL: См.: MySQL :: MySQL 8.0 справочное руководство :: 11.3.2 типы CHAR и VARCHAR[^]

Как объявить в MySQL:

DECLARE variable_name datatype(size) [DEFAULT default_value];

Цитата:
Значения в Столбцах VARCHAR являются строками переменной длины. Длина может быть указана в виде значения от 0 до 65 535. Эффективная максимальная длина VARCHAR зависит от максимального размера строки (65 535 байт, который является общим для всех столбцов) и используемого набора символов. См. раздел 8.4.7, “ограничения на количество столбцов таблицы и размер строк”.

В отличие от CHAR, значения VARCHAR хранятся в виде 1-байтового или 2-байтового префикса длины плюс данные. Префикс длины указывает количество байтов в значении. Столбец использует один байт длины, если значения требуют не более 255 байт, и два байта длины, если значения могут требовать более 255 байт.