#sql #azure #azure-sql-database
#sql #azure #azure-sql-database
Вопрос:
У меня проблема с вставкой значений в мою базу данных SQL server в Azure, я получаю следующую ошибку:
Failed to execute query. Error: String or binary data would be truncated in table 'dummy_app.dbo.user_info', column 'uid'. Truncated value: 'u'.
The statement has been terminated.
Я не понимаю, где я ошибаюсь, я только что создал сервер, и я пытаюсь поэкспериментировать, но не могу это исправить.
if not exists (select * from sysobjects where name='user_info' and xtype='U')
create table user_info (
uid varchar unique,
name varchar,
email varchar
)
go;
INSERT INTO dbo.user_info(uid, name, email) VALUES('uids', 'name', 'email') go;
Создание таблицы работает нормально, единственное, что не работает, это вторая команда INSERT
Ответ №1:
Я подозреваю, что причина в том, что вы не определили длину для varchar, и по умолчанию в качестве длины используется значение 1. Поэтому ваше значение будет усечено.
Установите длину переменной примерно на varchar(200), и все должно быть готово.
Ответ №2:
Это похоже на тот факт, что CREATE
часть вашей процедуры для таблицы не включает длину varchar
, поэтому вам придется указать длину, такую как varchar(50)
, поскольку значение по умолчанию равно 1 . Обратитесь к официальным документам MS по ссылке в примечаниях.
Кроме того, вот синтаксис для CREATE TABLE
Azure, который также может быть полезен.