Mysql 里 insert into select from 这种用法的特殊需求该怎么写?

2015-04-21 12:53:13 +08:00
 jookr

table
id name telphone age
1 tom 138 12
2 bill 139 13

不能一步完成的方法是先查出来,再按需求插入
$data = $db->get_one("select * from table where name='tom' limit 1");
$db->query("insert into table(name,telphone,age) values('$data[name]','1388888‘,'$data[age]')");

Insert into table(name,telphone,age) select name,telphone,age from table where name='tom'
这句能正常使用完全复制值插入的

但是我想几个字段自定义值(如上例,telphone不用查询出来的值而是另外定义) 请问这语句该怎么改

先谢谢了!

4587 次点击
所在节点    MySQL
8 条回复
caoyue
2015-04-21 14:02:56 +08:00
Insert into table(name,telphone,age) select name,'1388888‘,age from table where name='tom'
jookr
2015-04-21 14:18:35 +08:00
@caoyue 行不通 报错 还有其他方法吗
不过还是非常感谢
caixiexin
2015-04-21 14:29:09 +08:00
1l的方法为啥不行呢,是不是lz你自定义的值跟表字段不符?我记得以前我也是这么写的
liuhaotian
2015-04-21 14:31:39 +08:00
@jookr 他的一个引号不是英文的 你改了吗 应该没问题的。
提供下表结构
jookr
2015-04-21 14:38:33 +08:00
@caoyue
@caixiexin
@liuhaotian
确实1L的符号问题
非常感谢各位
caoyue
2015-04-21 14:44:41 +08:00
@jookr
我从你上面复制的=-= 没注意
bombless
2015-04-21 14:47:17 +08:00
我晕,mysql里面反引号是用来围住名字(好像叫标识符)的,不能用来围住关键字。

话说楼主是呜呜吗?
jookr
2015-04-21 15:42:15 +08:00
@bombless 呜呜?不认识

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/185197

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX