Arhn - архитектура программирования

ОШИБКА MySQL 1406 (22001): слишком длинные данные для столбца

Обратите внимание на знаки стола:

mysql> SELECT * FROM marks;
+--------+------------+-----------------------+
| name   | percentage | email                 |
+--------+------------+-----------------------+
| Bipin  | 84%        | [email protected]     |
| Deepak | 78%        | [email protected] |
| Rohith | 82%        | [email protected]    |
| Sujit  | 94%        | [email protected]   |
+--------+------------+-----------------------+

Когда я сделал следующий запрос для вставки значений в таблицу, это привело к ошибке:

mysql> INSERT INTO marks VALUES('&name','&percentage','&email');
ERROR 1406 (22001): Data too long for column 'percentage' at row 1 

Это было сделано в качестве эксперимента, основанного на информации о другом способе вставки значения с использованием ('&') в SQL.

Можете уточнить, что пошло не так? Согласно блогу, простое нажатие ENTER вставит значения после запроса.

Желаемый результат:

Enter value for name: John
Enter value for percentage: 76%
Enter value for email: [email protected]
14.01.2020

  • Эта функция Oracle не поддерживается в MySQL. 14.01.2020
  • @GMB, я ничего не знаю об Oracle. Спасибо, что поделились этой информацией. Так что просто хочу знать, что такая функция существует в MySQL. 14.01.2020
  • @Biping: насколько я знаю, в MySQL нет такой вещи, как командная строка. 14.01.2020
  • Этот код пытается поместить буквальную строку &percentage в таблицу. 14.01.2020
  • @GMB Конечно, есть. Просто запустите команду mysql из оболочки, вы получите это приглашение. 14.01.2020
  • @GMB dev.mysql.com/doc/refman/8.0/en/ mysql.html 14.01.2020
  • @Barmar Я запускаю MySQL из клиента командной строки MySQL 8.0. 14.01.2020
  • @Barmar: я был неясен. Я имею в виду всплывающее окно командной строки, такое как &<varname> в Oracle, которое генерирует интерактивную подсказку, в которой пользователь может ввести значение. Есть ли это в командной строке msql? 14.01.2020
  • Нет, у MySQL этого нет. 14.01.2020

Ответы:


1

В MySQL переменные сеанса имеют префикс @ и не раскрываются внутри кавычек. Так должно быть:

mysql> SET @name = 'John', @percentage = '76%', @email = '[email protected]';
mysql> INSERT INTO marks VALUES(@name,@percentage,@email);

Там нет автоматического запроса переменных, как в Oracle, вы должны установить их вручную.

14.01.2020
Новые материалы

Коллекции публикаций по глубокому обучению
Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

Представляем: Pepita
Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

Советы по коду Laravel #2
1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

3 способа решить квадратное уравнение (3-й мой любимый) -
1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

Создание VR-миров с A-Frame
Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

Демистификация рекурсии
КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..