2015-09-03 41 views
1

我這裏是新的帖子,我想知道你能不能幫我用一塊MySQL代碼:Mysql的子查詢錯誤1241

INSERT INTO cliente (id_cliente,nombre,apellidop,apellidom,usuario,password,activo) 
VALUES ((SELECT id_usuario,nombre,apellidop,apellidom,usuario,password,activo FROM usuario where id_usuario = 1)); 

它返回error 1241 (21000) operand should contain 1 column(s)

這是相同數量的列在插入比選擇,我不知道發生了什麼事?可能是一個新手錯誤?

回答

1

當您選擇INSERT時,您不想使用'VALUES'。

反而嘗試;

INSERT INTO cliente(id_cliente, nombre, apellidop, apellidom, usuario, password, activo) 
SELECT id_usuario, nombre, apellidop, apellidom, usuario, password, activo 
FROM usuario 
WHERE id_usuario = 1; 

請參閱this鏈接瞭解更多信息。

+0

謝謝Ross編輯的問題和答案! –

+0

沒問題,享受SQL語言並歡迎來到SO社區。 – Ross