Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

MYSQL error: Duplicate entry ' ' for key 1

13K
11 июля 2008 года
ghostspock
50 / / 27.06.2008
я в цикле заполняю таблицу базы данных
CREATE TABLE Product_Types(prod_type_id integer NOT NULL PRIMARY KEY,
prod_type_name char(40) NOT NULL)
с помощью
INSERT INTO Product_Types VALUES ($i,'$cur_name')
$i увеличиваю на 1, а $cur_name беру из файла
выдается ошибка:
Duplicate entry '1' for key 1
Duplicate entry '2' for key 1
Duplicate entry '3' for key 1
Duplicate entry '4' for key 1
Duplicate entry '5' for key 1
Duplicate entry '6' for key 1
Duplicate entry '7' for key 1
Duplicate entry '8' for key 1
и так далее. Тако ощущение что пытается перезаписать это в одну и ту же строку. Подскахите, пожалуйста где я допустил ошибку.
13K
11 июля 2008 года
ghostspock
50 / / 27.06.2008
разобрался сам :cool: извините, что зря потревожил :o
332
11 июля 2008 года
Valiant
416 / / 27.09.2004
Prymary key подобен unique с небольшими различиями.
т.е. нельзя дублировать значения в этом столбце
8.2K
11 июля 2008 года
Ora-cool
211 / / 20.09.2007
Цитата: Valiant
Prymary key подобен unique с небольшими различиями.
т.е. нельзя дублировать значения в этом столбце


Различие в том, что в PRIMARY_KEY запрещена вставка NULL. В связи с чем запись у автора

prod_type_id integer NOT NULL PRIMARY KEY

является избыточной)

332
11 июля 2008 года
Valiant
416 / / 27.09.2004
Цитата: Ora-cool
Различие в том, что в PRIMARY_KEY запрещена вставка NULL. В связи с чем запись у автора

prod_type_id integer NOT NULL PRIMARY KEY

является избыточной)



Не только. Таблица может иметь только один PRIMARY KEY, в отличие от UNIQUE.

Вторым отличием является как раз указанный Вами запрет вставки значиния типа NULL.
Здесь есть только одно исключение для таблиц BDB. Этот тип позволяет вставлять только одно значение NULL.

9
11 июля 2008 года
Lerkin
3.0K / / 25.03.2003
А вот такая задача:
Есть таблица dbo.sharyo_idx с единственным полем VIN (nchar(17)) (которое PK).

Делаю простенький импорт:
 
Код:
BULK INSERT [dbo].[sharyo_idx]
   FROM 'd:\sharyo_idx.txt'


В файле импорта заведомо содержаться дубли. Естественно, срывается.
Вопрос: Как, таки, загрузить таблицу только уникальными значениями?

З.Ы. Курю SQL Server 2005 BOL, но что-то найти нефига не могу...
11
11 июля 2008 года
oxotnik333
2.9K / / 03.08.2007
Цитата: Lerkin
А вот такая задача:
Есть таблица dbo.sharyo_idx с единственным полем VIN (nchar(17)) (которое PK).

Делаю простенький импорт:
 
Код:
BULK INSERT [dbo].[sharyo_idx]
   FROM 'd:\sharyo_idx.txt'


В файле импорта заведомо содержаться дубли. Естественно, срывается.
Вопрос: Как, таки, загрузить таблицу только уникальными значениями?

З.Ы. Курю SQL Server 2005 BOL, но что-то найти нефига не могу...



через временную таблицу, где поле будет не уникальным, затем SELECT DISTINCT INTO sharyo_idx

332
14 июля 2008 года
Valiant
416 / / 27.09.2004
Цитата: oxotnik333
через временную таблицу, где поле будет не уникальным, затем SELECT DISTINCT INTO sharyo_idx



Согласен самый реальный вариант

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог