Рейтинг:
17
Suvendu Shekhar Giri
Вы не обеспечили ценность для Id_Teacher и Адрес Вам нужно указать значение или вы можете передать его НУЛЕВОЙ или просто проигнорируйте колонку из ВСТАВЛЯТЬ заявление.
1. Игнорирование Столбцов
Insert Into Teacher1(Name, Familyname, Phone, Mobile, Email, Fk_Sex, Fk_Major, Fk_Education)
Values("Kamran", "Mortazavi", 8899100, 09126254019, "K.m.r@yahoo.com", 2, 3,2)
Но для успешного выполнения этого запроса вам необходимо включить идентификатор столбца
Id_Teacher2. Передача NULLInsert Into Teacher1(Id_Teacher, Name, Familyname, Phone, Mobile, Email, Adress, Fk_Sex, Fk_Major, Fk_Education)
Values( NULL,"Kamran", "Mortazavi", 8899100, 09126254019, "K.m.r@yahoo.com",NULL , 2, 3,2)
Важный
Я настоятельно рекомендую вам использовать параметризованный запрос или хранимую процедуру, чтобы избежать SQL-инъекции.
Прочтите этот учебник:[
^]
Надеюсь, это поможет :)
Member 11819205
я копирую этот код :
Вставить В Teacher1(Id_Teacher, Имя, Фамилия, Телефон, Мобильный Телефон, Электронная Почта, Адрес, Fk_Sex, Fk_Major, Fk_Education)
Значения( 1, 'Камрань', 'Мортазави', 8899100, 09126254019, 'K.m.r@yahoo.com',NULL , 2, 3,2)
и вставьте его в sql но я получаю этот код ошибки :
Msg 8115, Уровень 16, Состояние 2, Строка 1
Ошибка арифметического переполнения при преобразовании выражения в тип данных int.
Заявление было прекращено.
что же теперь делать ?
Suvendu Shekhar Giri
Хорошо. Не беспокойся. Можете ли вы поделиться структурой таблицы (то есть типами данных каждого поля/столбца)?
Member 11819205
здесь :
tools.dynamicdrive.com/imageoptimizer/data/m9vyk81/Untitled.jpg
Suvendu Shekhar Giri
Нет, я не могу видеть изображение. Можете ли вы написать здесь как Id_Teacher int,Name varchar(50),..... ?
Member 11819205
здесь :
Имя нварчар(50) Проверен
Семейное имя nvarchar(50) Проверен
Телефон int проверен
Мобильный int проверен
Электронная почта nvarchar(MAX) проверена
Адрес nvarchar(MAX) Uncahecked
Fk_Sex int проверено
Fk_Major int проверено
Fk_Education int проверено
Suvendu Shekhar Giri
Поля Phone и Mobile не могут хранить значение больше максимального размера INT, поскольку вы объявили их как тип данных INT. Это вызывает арифметическое переполнение. Мое предложение состоит в том, чтобы изменить их на varchar(15). Вам не нужно объявлять поле числовым типом, если вы не хотите, чтобы над ним выполнялись какие-либо арифметические операции.
Если вы измените это, то вам также придется изменить запрос так, чтобы он мог принимать строки в качестве значений, то есть нужно обернуть значения в пару одинарных кавычек.
Member 11819205
Огромное спасибо!. теперь все кончено. спасибо еще раз.
Suvendu Shekhar Giri
Рад был узнать, что это помогло :)
Рейтинг:
1
Kornfeld Eliyahu Peter
SQL не поддерживает запись по умолчанию, подобную записи в INSERT INTO ... Запрос значений...
Вы можете не пропускать значения, а добавить вместо них еще одну запятую...
Values( !!!,"Kamran", "Mortazavi", 8899100, 09126254019, "K.m.r@yahoo.com", !!!, 2, 3,2)
Вы должны добавить значения или удалить поля...
Sanjoy Das2
в следующем коде я получаю ошибку
Msg 102, Уровень 15, Состояние 1, Строка 3
Неверный синтаксис рядом с 'NULL'.
Выберите столбцы firstName + '' + имя + '(' + UserCode + ')', как 'имя пользователя',TBLTRANSJOBS.JobName как "имя задания", TBLTRANSDOCUMENTS.DocName как имя кредита',конвертировать(тип varchar(25),AssignedDate,131), а 'дате',конвертировать(тип varchar(25),
(Выберите правильный('0' + литые(функция datediff(второй,AssignedDate,функции getdate()) / 3600 как varchar),2) + ':' + правая('0' + литые((функция datediff(второй,AssignedDate,функции getdate()) / 60) % 60 как varchar),2) + ':' + правая('0' + литые(функция datediff(второй,AssignedDate,функции getdate()) % 60 как varchar),2) как 'прошедшее время'
FROM ((TBLTRANSDOCUMENTS inner join TBLTRANSJOBS ON TBLTRANSJOBS.JobID = TBLTRANSDOCUMENTS.JobID) внутреннее соединение TBLTRANSUSERS на TBLTRANSDOCUMENTS.ExtractionAssigned=TBLTRANSUSERS.Идентификатор пользователя) где KeyedDate ExtractionAssigned null и не null