Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Вопрос от новичка / 8 сообщений из 8, страница 1 из 1
24.05.2016, 13:34
    #39242175
t61
t61
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос от новичка
Есть таблица
Код: plsql
1.
2.
3.
4.
5.
CREATE TABLE `Test` (
	`ID` int NOT NULL,
	`Name` varchar(2048) NOT NULL,
	PRIMARY KEY (`ID`)
);


Мне нужно добавить записи и при этом не беспокоиться за id, чтоб они сами генерировались.
Видел несколько разных подходов, но все у меня вылетают с ошибкой.
Код: plsql
1.
2.
insert into test (name) values ("abc")
Error Code: 1364. Field 'ID' doesn't have a default value


Код: plsql
1.
2.
insert into test (id, name) values (null, "abc")
Error Code: 1048. Column 'ID' cannot be null
...
Рейтинг: 0 / 0
24.05.2016, 13:41
    #39242188
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос от новичка
t61,

Поле ID сделайте автоинкрементным.
...
Рейтинг: 0 / 0
24.05.2016, 13:42
    #39242190
t61
t61
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос от новичка
Вроде разобрался ... надо было потратить полдня и заметить это, возможно у меня еще где есть промахи ?

Код: plsql
1.
2.
3.
4.
5.
CREATE TABLE `Test` (
	`ID` int auto_increment NOT NULL,
	`Name` varchar(2048) NOT NULL,
	PRIMARY KEY (`ID`)
);
...
Рейтинг: 0 / 0
24.05.2016, 13:42
    #39242192
t61
t61
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос от новичка
miksoft, спасибо
...
Рейтинг: 0 / 0
24.05.2016, 13:44
    #39242195
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос от новичка
t61возможно у меня еще где есть промахи ?Слово Name является зарезервированным словом из синтаксиса. Нежелательно называть объекты БД такими словами.
...
Рейтинг: 0 / 0
24.05.2016, 19:32
    #39242681
retvizan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос от новичка
miksoftСлово Name является зарезервированным словом из синтаксиса.Разве в mysql это служебное слово?

t61возможно у меня еще где есть промахи ?указывайте явно кодировку и хранилище чтобы не было сюрпризов.
осмысленно выбирайте размер varchar
...
Рейтинг: 0 / 0
24.05.2016, 20:20
    #39242702
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос от новичка
retvizanmiksoftСлово Name является зарезервированным словом из синтаксиса.Разве в mysql это служебное слово? Да .
...
Рейтинг: 0 / 0
24.05.2016, 20:37
    #39242713
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос от новичка
miksoftt61возможно у меня еще где есть промахи ?Слово Name является зарезервированным словом из синтаксиса. Нежелательно называть объекты БД такими словами.ИМХО лучше привыкнуть закавычивать имена полей/таблиц, тогда по барабану будут их названия.
С другой стороны, чтобы облегчить себе жизнь, имя поля должно отражать его суть в достаточно полной мере. Чтоб далеко не бегать, этих самых Name может быть великое множество в одном проекте, как то user_name, file_name, contragent_name и так далее. Хоть и живут они в разных таблицах, а не ровен час, в каком-то достаточно ёмком запросе вылезут в один набор данных.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Вопрос от новичка / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]