2014-02-10 71 views
0

我想在MySQL使用條件如下使用MySQL IF條件多INSERT

我有2表 - 的tblpage,tblContent

的SQL應該做以下順序的東西

  1. 檢查PAGE_NAME =「家」中的tblpage,如有虛假,轉到步驟2
  2. 插入的tblpage一些值,並獲得最後插入編號
  3. 用tbContent的最後一個插入標識(tblPage)插入一些值, 獲取它自己的lastInsertId。
  4. 用tbContent的lastInsertId在tbContent中插入一些值, 獲取它自己的lastInsertId。
  5. 繼續這樣插入。

步驟1檢查是否在指定的列上存在的任何具體值

步驟2如果指定value="Home"存在,跳過步驟,如果不是,插入的tblpage一些值,並獲得最後的插入標識

步驟3將與之前的INSERT的lastInsertId一些值在同一個表

步驟可以走在這條道路在同一表中插入一些其他行,每個INSERT得到 拉斯維加斯牛逼插入標識下一個

我認爲它與MySQL IFNULL,NULIF,LAST_INSERT_ID等更多鈔票,但我不能通過

我這個嘗試,但如果條件仍然absent.I需要執行的其餘得到它查詢,如果名稱=「家」存在的tblpage

BEGIN 
INSERT INTO 'tblPage' ('id','name','url') VALUES 
(NULL,'index','home/index'); 
SET @last_id_in_page = LAST_INSERT_ID(); 
INSERT INTO 'tblcontent' ('id','page_id','parent') VALUES 
(NULL,@last_id_in_page,'home/index'); 
SET @last_id_in_content = LAST_INSERT_ID(); 
INSERT INTO 'tblcontent' ('id','page_id','parent') VALUES 
(NULL,@last_id_in_page,@last_id_in_content); 
SET @last_id_in_content = LAST_INSERT_ID(); 
INSERT INTO 'tblcontent' ('id','page_id','parent') VALUES 
(NULL,@last_id_in_page,@last_id_in_content); 
COMMIT; 

回答

0

要獲得最後插入的ID就可以使用,

$id= mysql_insert_id(); 

插入後屈你會得到表中最後一個插入的ID。

+0

如何檢查列上值的可用性,如果爲false,則將執行其餘的查詢 – Tanvir