동일한 표의 한 열에 두 개의 열에서 두 개의 값을 선택하여 값을 삽입하고 있습니다. 내 쿼리는 다음과 같습니다. MySQL의 쿼리동일한 테이블의 열로 두 열의 값을 선택하여 삽입하십시오.
insert into table1 (username)
select prefix + (LPAD(Coalesce(MAX(id),0) + 1,3, '0'))
from table1;
위의 삽입 쿼리가 작동하지 않습니다 삽입
create table table1(
id int(3) zerofill auto_increment primary key,
prefix varchar(10) default "AB",
username varchar(10)
)
engine=innodb;
, 그것은 사용자 이름 열에서 null을 제공, 어떤 도움 appreciated.Thanks입니다하시기 바랍니다. 예상되는 결과는 다음과 같습니다.
id Prefix username
001 AB AB001
002 AB AB002
003 AB AB003
입니다 'COLESCE (접두어, ''), LPAD (COALESCE (MAX (id), 0) + 1, 3, '0')) FROM table1' 가능하거나 다른 방법이 있습니다. – George
@George 쿼리는 테이블에서 접두사를 가져오고 테이블에 행이없는 경우에만 상수 값이 사용됩니다 (테이블은 비어 있으며 첫 번째 행 삽입). 이 경우 접두어는'NULL'이며 두 번째 매개 변수에서''AB ''를 선택하는 데'COALESCE'가 사용되는 이유입니다. – peterm
우리는 지금 채팅 할 수 있습니다. – George