php - SQL:不存在的地方 - 仅在不存在时插入

标签 php mysql sql

我只想在值尚未存在时插入它们。我的 table 叫 wp_all_import我的值(value)观叫 pid , price , price_old , shoplink .

有人可以告诉我这里出了什么问题吗? 因为他插入了值,但它们已经退出了......

INSERT INTO `wp_all_import` ('$pid', '$price', '$price_old', '$link', '$shop') 
        SELECT 'pid', 'price', 'price_old', 'shop', 'link' FROM `wp_all_import` 
        WHERE NOT EXISTS (SELECT * FROM `wp_all_import` 
        WHERE (pid = '$rpid') AND (price = '$rprice') AND (price_old = '$rprice_old') AND (shop = '$rshop') AND (link = '$rlink'))

问候并谢谢您!

最佳答案

我并没有真正理解你的代码,但我认为这就是你正在寻找的:

我认为变量(以$符号开头)代表您要插入的值

INSERT INTO wp_all_import(pid, price, price_old, shop, link)
SELECT * FROM (SELECT $pid, $price, $price_old, $shop, $link) AS tmp
WHERE NOT EXISTS (
    SELECT * FROM wp_all_import 
    WHERE pid= $pid AND price = $price 
    AND price_old = $price_old AND link = $link
    AND shop = $shop) LIMIT 1;

关于php - SQL:不存在的地方 - 仅在不存在时插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42186929/

相关文章:

mysql - 使用 ORDER 或 MAX() 连接?

php - 将属性添加到 For 循环 PHP 中的第一个元素

php - MYSQL JOIN所有子行,父行只显示一次

php - Drupal 表单 API - 使用 foreach 循环构建表单

php - 如何在 linux 机器上使用独立数据库?

php - 如何将 Web 应用程序的访问权限限制在一台机器上?

mysql,选择Distinct仍然返回多个项目

MYSQL:如何根据另一个表中的数据选择列?

mysql - C 树数据库中出现错误

php - 连接 PHP 记录集中的符号