¿Seleccionar mientras se inserta?
Frecuentes
Visto 744 equipos
1
No estoy seguro de si es posible, pero estoy tratando de hacer una inserción mientras selecciono un valor para hacer un +1. La razón por la que estoy haciendo esto es porque mi columna es de incrementos automáticos, pero los valores están por todas partes.
Esto es lo que tengo hasta ahora y no me deja hacer la inserción:
insert into channels set chanid=(select chanid from channels where parent=2
order by chanid desc limit 1)+1
4 Respuestas
1
Intente usar un alias en la subconsulta. Hizo el truco para mí.
insert into channels
set chanid=(
select c.chanid
from channels as c
where c.parent=2
order by c.chanid desc
limit 1
)+1
Referencia: http://bugs.mysql.com/bug.php?id=6980
Respondido 02 ago 12, 20:08
1
insert into channels(chanid)
select chanid+1 from channels where parent=2
order by chanid desc limit 1
Respondido 31 Jul 12, 11:07
0
Si he entendido correctamente tu pregunta, prueba esto.
insert into channels set chanid=(select chanid+1 from channels where parent=2 order by chanid desc limit 1)
Respondido 31 Jul 12, 11:07
Lo intenté de esta manera anteriormente y todavía no me deja. Dice que no puedo especificar los "canales" de la tabla de destino desde la actualización desde caluse. elvoipman
0
Reiniciar auto-increment
valores que puedes probar
SET @var_count = 0;
UPDATE channels
SET chanid = (@var_count := @var_count + 1);
or
caer auto-increment
columna y recréala con PRIMARY KEY
en ella.
Respondido 31 Jul 12, 11:07
Todavía necesitaría hacer una inserción... ¿cómo puedo hacer una inserción y también tomar el último cánido de los respectivos valores iguales? - elvoipman
puede usar LAST_INSERT_ID() para obtener la última identificación insertada de la tabla. - Omesh
por favor dame un ejemplo de cómo hacer esto - no estoy usando php para esto - elvoipman
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas mysql select insert or haz tu propia pregunta.
no funciona. Estoy tratando de hacer esto directamente en mysql, no a través de una página php. elvoipman