#mysql #sql #database
Вопрос:
Я создаю базу данных для школьного проекта, я сделал все свои столбцы, однако я получаю ошибку.
«ОШИБКА 1406 (22001): слишком длинные данные для столбца «stu_first_name» в строке 1″
Я провел некоторый поиск, и я вижу, что ошибка распространена для varchar, и люди говорят, что нужно переключиться на длинный текст, однако проект говорит, что это должен быть символ.
create table students(
-> stu_id char,
-> stu_first_name char,
-> stu_last_name char,
-> address char,
-> city char,
-> state char,
-> zip char,
-> major char,
-> email char,
-> phone varchar(255)
это был мой код при создании столбцов.
Комментарии:
1. Вы не указали длину для своих
CHAR
столбцов, поэтому они имеют длину по умолчанию, равную единице.2. Я не знал
CHAR
, что указаны необходимые длины. Спасибо.
Ответ №1:
Ну, вы сделали свои столбцы символов длиной ровно в 1 символ. Я не уверен, что этого будет достаточно, чтобы сохранить имя или адрес 😀
Просто добавьте длину в определение типа столбца, например… stu_first_name -> char(30)
Кстати, varchar все равно был бы более подходящим выбором, так как значения не заполняются правильно пробелом, чтобы заполнить весь назначенный размер столбца… Представьте, что каждый раз используется до 30 символов… Довольно расточительно для «Роба» или «Хэла» или… «Ben»