2015-10-17 59 views
0

我想從表中複製數據:oc_product_description列:名稱到表:Et列:標題,但我只需要複製左側的125個字符,因爲我有限制多少我可以擁有的角色。 我的想法是這樣的,但它不工作插入,內部連接和限制字符在一個

Insert into Et (title) 
     INNER JOIN oc_product_description 
      ON oc_product_description.product_id = Et.product_id; 
Select left(col, 125) col 
From oc_product_description.name; 

任何幫助將不勝感激。

+0

我這個解決它:更新Et INNER JOIN oc_product_description ON oc_product_description.product_id = Et.product_id Set Et.title = SUBSTRING(oc_product_description.name,1,125); – Schwann

回答

0

這是我的固定它

Update Et 
    INNER JOIN oc_product_description 
       ON oc_product_description.product_id = Et.product_id 
    Set Et.title=SUBSTRING(oc_product_description.name,1,125); 
+0

儘量不要做你所做的事,好的。一些其他用戶可能已經標記了你,並且試圖清楚你的要求,很高興聽到你找到解決方案並分享它。 –

+0

@JonathanS。,對不起,不知道正確的做法。但我用你的幫助來解決它。另外我認爲,在你的代碼中0也應該是1。 – Schwann

1

你也使用SUBSTRING,等效於LEFT這樣的:

(查詢清洗)

INSERT INTO Et (title) 
SELECT SUBSTRING(oc.name,0,125) 
FROM oc_product_description AS oc 
INNER JOIN Et AS e 
ON oc.product_id = e.product_id; 
+0

使用此時出現以下錯誤。 #1064 - 你的SQL語法錯誤;請檢查與您的MySQL服務器版本對應的手冊,以便在第2行'SELECT SUBSTRING(oc.name,0,125)FROM oc_product_description AS oc IN JOIN'附近使用正確的語法 – Schwann

+0

對不起@Schwann使用INSERT ... SELECT時有沒有需要VALUES子句 –

+0

明白了,你是對的。非常感謝你 – Schwann