-- 判断数据是否存在,如果不存在则插入
INSERT INTO table_name (column1, column2, column3, ...)
SELECT 'value1', 'value2', 'value3', ...
WHERE NOT EXISTS (
SELECT 1 FROM table_name
WHERE condition
);
-- 解释说明:
-- 这段代码的作用是检查表中是否已经存在满足特定条件的数据行。
-- 如果不存在这样的数据行,则会执行插入操作。
-- 具体来说:
-- 1. `INSERT INTO table_name (column1, column2, column3, ...)` 指定要插入的表和列。
-- 2. `SELECT 'value1', 'value2', 'value3', ...` 指定要插入的具体值。
-- 3. `WHERE NOT EXISTS (...)` 用于检查是否存在满足条件的数据行。如果不存在,则执行插入操作。
-- 4. `SELECT 1 FROM table_name WHERE condition` 是子查询,用于检查是否存在满足条件的数据行。
-- 示例:
-- 假设有一个名为 users 的表,包含 id 和 name 两列。
-- 我们想插入一个新用户,但前提是该用户的 id 不存在于表中。
INSERT INTO users (id, name)
SELECT 1, 'Alice'
WHERE NOT EXISTS (
SELECT 1 FROM users
WHERE id = 1
);
如果你需要进一步的帮助或有其他问题,请告诉我!
上一篇:mysql 时间戳函数
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站