-- 检查表是否存在,如果存在则删除
DROP TABLE IF EXISTS my_table;
-- 解释:这条语句会检查名为 'my_table' 的表是否存在。如果存在,则会删除该表。
-- IF EXISTS 子句可以防止在表不存在时抛出错误。
-- 创建表(如果它还不存在)
CREATE TABLE IF NOT EXISTS my_table (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL
);
-- 解释:这条语句会创建一个名为 'my_table' 的表,前提是该表尚不存在。
-- IF NOT EXISTS 子句可以防止在表已经存在时抛出错误。
-- 使用 IF EXISTS 在存储过程中检查记录是否存在
DELIMITER //
CREATE PROCEDURE update_or_insert(IN p_id INT, IN p_name VARCHAR(100))
BEGIN
IF EXISTS (SELECT 1 FROM my_table WHERE id = p_id) THEN
UPDATE my_table SET name = p_name WHERE id = p_id;
ELSE
INSERT INTO my_table (id, name) VALUES (p_id, p_name);
END IF;
END //
DELIMITER ;
-- 解释:这个存储过程首先检查 'my_table' 中是否存在指定的 id。
-- 如果存在,则更新该记录的名称;如果不存在,则插入一条新记录。
如果你需要更多示例或有其他问题,请告诉我!
上一篇:mysql 序列
下一篇:mysql 行锁
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站