mysql错误用法insert into where

mysql中给表中插入数据,一般使用insert into。

但是在插入数据时,有时会根据条件来插入数据,比如insert into t_person(num,name) values(1,'lily') where true;

会提示语法错误。把where true去除掉,可以正确执行。因为一般的insert into 语句是不能带where条件的。

可以insert into 表名(, , , ,) select *from 表名 where条件表达式

转载于:https://www.cnblogs.com/lisuyun/p/5624898.html

### MySQL 中 `INSERT` 和 `INSERT INTO` 的区别 在 MySQL 中,`INSERT` 和 `INSERT INTO` 实际上是同义词,在语法上可以互换使用。无论是 `INSERT INTO table ...` 还是 `INSERT table ...`,两者都用于向数据库中的表插入新的数据行[^1]。 然而,为了提高可读性和遵循 SQL 标准,推荐始终使用完整的 `INSERT INTO` 语法形式。这有助于其他开发人员更容易理解查询的目的,并减少潜在的错误风险。 #### 插入单行或多行数据的例子: ```sql -- 单行插入 INSERT INTO employees (id, name, position) VALUES (1, 'Alice', 'Manager'); -- 多行插入 INSERT INTO employees (id, name, position) VALUES (2, 'Bob', 'Developer'), (3, 'Charlie', 'Designer'); ``` 当涉及到具体的数据操作方式时,存在两种主要的形式来执行插入动作:一种是通过 `VALUES` 子句指定要插入的具体值;另一种则是利用子查询的结果集来进行批量插入,即所谓的 `SELECT` 方式。 对于基于 `VALUES` 的插入而言,可以直接给出每一列对应的固定值列表。而对于采用 `SELECT` 结构的情况,则可以从另一个表或其他数据源获取所需的数据并将其插入目标表中。 ```sql -- 使用 SELECT 进行插入 INSERT INTO new_table (column1, column2) SELECT old_column1, old_column2 FROM old_table WHERE condition; ``` 值得注意的是,虽然 `INSERT` 和 `INSERT INTO` 可以通用,但在某些特定情况下,如触发器定义或存储过程内部,可能更倾向于显式的写法以便于维护和调试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值