2014-02-06 16 views
0

我只是想重新指定一個行(來自同一個表)作爲新行1替換自動增加MySQL的行與另一

該表有列「版本」作爲AI

其他三列(名,arrayV,筆記)

CURRENT失敗的嘗試(只是SQL語法,使用固定的值,而不是變量)

UPDATE `variables` AS v1, `variables` AS v2 SET v1.`name` = v2.`name`, v1.`arrayV` = v2.`arrayV`, v1.`notes` = v2.`notes` WHERE v1.`version`=1,v2.`version`= 5; 

PREVIOUS失敗嘗試

$newAI1 = $_POST["newSet"];//variable is an integer equal to another row ('version') in table 
echo "New set of is ".$newAI1."<br/>"; 

$sqlMove = "INSERT INTO `variables` (`name`,`arrayV`,`notes`) WHERE `version` = '1' (SELECT `name`,`arrayV`,`notes` FROM `variables` WHERE `version` = '".$newAI1."')"; 

我在哪裏出錯了?

+0

在你的插入查詢表名值'variables'是用單引號覆蓋?它必須蓋上'sign – Naeem

+0

請定義什麼是版本?嘗試類似 INSERT INTO USER(user_name)(SELECT user_name FROM USER WHERE id ='13') – user12

+0

@naeem,''(反引號)或''(單引號),要用哪個? – Gamemorize

回答

1

Posibly是這樣的:

$sql = "update `variables` as v1, `variables` as v2 set v1.`name` = v2.`name`, ... where v1.`version`=1 and v2.`version`= '" .$newAI1 . "'" 
$sqlDelete = "delete from `variables` where version='" . $newAI1. "'" 

1)更新第1行與行$ newAI1

2)刪除一行$ newAI1

+0

謝謝,我已經添加了您的代碼作爲我最近的失敗情況... – Gamemorize

+0

已解決...根據您的代碼...在哪裏需要一個AND而不是一個! – Gamemorize

+0

推薦你的代碼,我會接受你的回答! – Gamemorize