mysql - 添加数据之前检查数据是否在数据库中 SQL

标签 mysql sql

我正在尝试创建一个 SQL 语句,在插入数据之前检查表是否为空

BEGIN
    IF NOT EXISTS (SELECT * FROM characters)
BEGIN
    INSERT INTO characters (1,Sam,Jordan,7,4,4,"Strength","Sam's muscular build provides +2 Storage Capacity","Meaty Punch","+2 Damage To Next Attack")

产生错误:

21:26:01    BEGIN  IF NOT EXISTS (SELECT * FROM characters) BEGIN  INSERT INTO characters (1,Sam,Jordan,7,4,4,"Strength","Sam's muscular build provides +2 Storage Capacity","Meaty Punch","+2 Damage To Next Attack")  Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS (SELECT * FROM characters) BEGIN  INSERT INTO characters (1,Sam,Jo' at line 2    0.000 sec

最佳答案

尝试以下操作。

IF NOT EXISTS (SELECT * FROM characters)
BEGIN
    INSERT INTO characters 
    VALUES
    (
       1,
       'Sam',
       'Jordan',
       7,
       4,
       4,
       'Strength',
       'Sam''s muscular build  provides +2 Storage Capacity',
       'Meaty Punch',
       '+2 Damage To Next Attack'
    )

END

关于mysql - 添加数据之前检查数据是否在数据库中 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56067148/

相关文章:

php - 在使用 php foreach 和通过引用传递时遇到困难

java - 如何从 Java 备份 mysql 数据库?

sql - Oracle 进程逐渐变慢

python - mysql数据库插入数据时出错

mysql - 在事务中包装 SQL 语句

mysql - 如何检查数据是否存在于数据库中而不考虑列名?

mysql - 使用 MySQL 记录所有表上的所有事件

mysql - 获取具有特定条件的所有列的计数

PHP isset 不会填充表单中的单选元素

sql - 使用MySQL计算中位数的简单方法