MySQL 批量语句是指一次性执行多条 SQL 语句,以提高数据库操作的效率。常见的批量操作包括批量插入、批量更新和批量删除。
INSERT INTO ... VALUES (...), (...), ... 语法一次性插入多条记录。UPDATE ... SET ... WHERE ... 语法一次性更新多条记录。DELETE FROM ... WHERE ... 语法一次性删除多条记录。INSERT INTO users (name, email) VALUES
('Alice', 'alice@example.com'),
('Bob', 'bob@example.com'),
('Charlie', 'charlie@example.com');UPDATE users
SET status = 'active'
WHERE id IN (1, 2, 3);DELETE FROM users
WHERE created_at < '2022-01-01';Data too long for column 错误原因:插入的数据超过了列的定义长度。
解决方法:
ALTER TABLE users MODIFY COLUMN email VARCHAR(255);Lock wait timeout exceeded 错误原因:其他事务持有锁,导致当前事务等待超时。
解决方法:
SET GLOBAL innodb_lock_wait_timeout = 120;DELETE 语句执行时间过长原因:删除的数据量过大,导致执行时间过长。
解决方法:
DELETE FROM users WHERE created_at < '2022-01-01' LIMIT 1000;TRUNCATE TABLE 删除全表数据(适用于全表删除)。TRUNCATE TABLE users;希望这些信息对你有所帮助!如果有更多问题,请随时提问。