MySQL INSERT ...SELECT 与 SUBQUERY
我必须执行插入查询,从另一个表插入数据,
条件:如果我有 'codigoTipo' = 'A' ,列 'numero' 应该是最后一个 'numero' + 1
例如:
id | codigoTipo | numero
1 | A | 1
2 | O | 1
3 | A | 2
4 | A | 3
INSERT asociados (id, codigoTipo, numero, cp, direccion, email, fax, movil, nombre, nombreEncargado, telefono, website, idLocalidad)
SELECT p.id, 'A', (MAX(asociados.numero)+1 ) , p.postalcode, p.address, p.mail, p.fax, p.movil, p.name, p.charge_person, p.phone, p.website, p.locality
FROM
partners as p, asociados
我该怎么做?我的代码有错误。
编辑:codigoTipo 和 numero 是一个复合PK,这就是为什么我需要“numero”列中的自动增量数字
I have to do a insert query, inserting data from another table,
condition: if I have a 'codigoTipo' = 'A' , the column 'numero' should be the last 'numero' + 1
e.g.:
id | codigoTipo | numero
1 | A | 1
2 | O | 1
3 | A | 2
4 | A | 3
INSERT asociados (id, codigoTipo, numero, cp, direccion, email, fax, movil, nombre, nombreEncargado, telefono, website, idLocalidad)
SELECT p.id, 'A', (MAX(asociados.numero)+1 ) , p.postalcode, p.address, p.mail, p.fax, p.movil, p.name, p.charge_person, p.phone, p.website, p.locality
FROM
partners as p, asociados
How can I do that? My code has an error.
Edit: codigoTipo and numero, are a compositePK thats why I need the autoincremental number in column 'numero'
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用子查询来获取最大数字。
更新:如果您希望插入的行增加,请使用以下查询:
You can use a subquery to get the maximum numero.
Update: If you want the rows being inserted to increase, use this query: