Рейтинг:
29
koolprasadd
Есть небольшое изменение в запросе, просто попробуйте сначала выбрать запись, которую вы хотите вставить в базу данных, если она не существует, то вы можете вставить в нее.
смотрите ниже фрагмент кода
INSERT INTO table_listnames (name, address, tele)
SELECT * FROM (SELECT 'name1', 'add', '022') AS tmp
WHERE NOT EXISTS (
SELECT name FROM table_listnames WHERE name = 'name1'
) LIMIT 1;
Надеюсь, это поможет
koolprasadd
смотрите, у меня есть таблица с именем table_listnames, и я хочу вставить имя, адрес и номер телефона в таблицу, но перед вставкой я хочу проверить, существует ли уже та же запись с тем же именем или нет. поэтому сначала я выберу имя из таблицы, где имя-это то же самое имя, которое я хочу вставить. если он не существует, то он вставит новую запись.
Это для MySQL а не для SQL
Armel_Djient
я понял, как работает эта команда.
Вставить в table_listnames (имя, адрес, теле)
представляет столбцы, в которые будут вставлены данные
Выберите * FROM (выберите 'name1', 'add', '022') в качестве tmp
приводит значения, которые должны быть вставлены в столбцы(имя, адрес, теле), упомянутые выше
ГДЕ НЕ СУЩЕСТВУЕТ
чтобы проверить, существует ли запись уже или нет
Большое вам спасибо за ваш ответ
koolprasadd
добро пожаловать
klmediadev
потрясающе, колпрасадд! спасибо вам за этот полезный снипп :-) доброго здоровья!
koolprasadd
рад, что это помогает...
Рейтинг:
0
Shaa Dea
если у вас есть "уникальный" столбец, вы можете просто сделать "insert ignore into... "; он автоматически проверит уникальный столбец на наличие дубликатов каждой строки, которая будет вставлена, и просто проигнорирует запись, если она уже существует.
CHill60
"игнорировать в ..." - как обсуждалось по ссылке, приведенной в решении 1 год назад.