2011-01-12 8 views
1

Мне нужно импортировать некоторые данные из моей базы данных. И в таблице есть какая-то запись, а не все. Так что я хочу сделать:Вставка внешних данных в базу данных

  1. Запуск PHP скрипт для вставки данных в таблице из входного массива

  2. Сделать data_id уникальный (не первичный ключ) В MySQL таблице

  3. При вставке через php-скрипт, если один и тот же data_id существует, не останавливает выполнение, но пропускает эту запись и обрабатывает следующую.

что-то вроде этого я хочу.

Но мой скрипт останавливает выполнение, когда data_id повторяется.

может кто-нибудь объяснить, как я могу справиться с этим.

Я не хочу применять проверку в базе данных, что id data_id уже существует, а затем пропустить эту запись иначе, потому что это сделает страницу очень медленной.

+0

Ну, это противоречие, которое будет трудно решить. Вам придется либо сделать data_id не уникальным, либо исправить данные - я не думаю, что есть какой-либо другой способ. –

+0

Если не уникально, то мне нужно применить проверку всей таблицы, если она уже существует. Это сделает страницу медленной –

+0

Я вижу. 'INSERT IGNORE' может помочь, как предлагает @predrag - будет легко преобразовать операторы SQL соответственно –

ответ

1

Используйте insert ignore into table (fields) values (values)

Это работает

Смежные вопросы