mysql - 是否可以基于 MySQL 中某一列的选择进行插入?

标签 mysql sql

下面是基于 MySQL 中可能的列之一的选择的插入

INSERT INTO student_fees(id, name, fees) 
VALUES(1, SELECT name from students where student_id = 1, 200$) 

如果是,那么示例将真正有帮助。

-谢谢

最佳答案

尝试INSERT...SELECT语句

INSERT INTO student_fees(id, name, fees) 
SELECT ... -- put here the SELECT STATEMENT with condition

如果您的列ID自动递增,您不必指定1,否则会导致错误。

INSERT INTO student_fees(name, fees) 
SELECT `name`, '200$' 
FROM students         -- this will select all students on the table
                      -- and add $200 on thier fees.

还有一点,如果你只想从student的表中插入一列,你需要指定条件,这样你就不会得到约束错误(假设你的列ID是主键)

INSERT INTO student_fees(name, fees) 
SELECT `name`, '200$' 
FROM   students
WHERE  columnName = 'blahBlah'

更新 1

看到你的评论,你有这个疑问

INSERT INTO coupon_allotment (page_id, offer_id, coupon_code, user_id) 
SELECT page_id, 4, 'ABC'        -- number of columns mismatch, right?
FROM pages_discounts_association 
WHERE discount_id = 4

您需要删除上面的user_id列,或者您需要在您的选择语句中添加一个ID为了匹配列数。

关于mysql - 是否可以基于 MySQL 中某一列的选择进行插入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11898532/

相关文章:

php - 插入查询 If 语句 PHP

mysql - 具有计算间隔值的 Doctrine 2 DATE_ADD mysql 函数

php - 如何使用 PHP 将上传的 swf 文件存储在 MySQL 数据库中?

Mysql 多重连接性能与 Django Rest Framework

sql - Postgresql 错误的串行自动递增

mysql - 为什么 ALTER TABLE 用于更改 AUTO_INCREMENT 变量?

php - 在没有很多查询的情况下访问 Redbean 多对多条目?

mysql - 如何使用 join 优化查询

php - 即使存在两个条目,数据库查询也返回 0 行

asp.net - 显示错误填充 : SelectCommand. 连接属性尚未初始化