2013-04-09 73 views
0

正常情況下,我在一個表(銷售)示例中的MySql中插入數據。如何使用MySql數據庫在不同的表中插入數據?

string query = "INSERT INTO sales (price, user, date) " + 
          "VALUES(" + 
          "'" + txtQuant.Text + "'," + 
          "'" + txtLog.Text + "'," + 
           "NOW())"; 

但現在我改變了主意,決定另行創建另一個表格,我將命名爲列價格的設置。這是我第一次這樣做,所以我不知道該怎麼做。

我試過了。

string query = "INSERT INTO sales (user, date), settings (price) " + 
          "VALUES(" + 
          "'" + txtLog.Text + "'," + 
           "NOW())", "'" + txtQuant.Text + "'"; 

但它不起作用。

+1

爲什麼不使用兩個querys? – Vucko 2013-04-09 09:24:43

+0

是的,我會嘗試。 – Jayseer 2013-04-09 09:26:05

+0

@Jayseer如果用分號分隔語句,可以將它們作爲「一個查詢」執行。 代碼: INSERT INTO tbl(field,field)VALUES(val,val); INSERT INTO tbl2(field2,field2)VALUES(val2,val2);' – 2013-04-09 09:28:42

回答

1

只是做了2個查詢

INSERT INTO sales (user, date) values('user', now()); 
INSERT INTO settings (price) values(100); 
0

這是不可能使用一個查詢的INSERT只能在mysql中插入數據到一個表。您可以

  • 寫這兩個查詢,並執行它們作爲一批
  • 創建一個能夠執行存儲過程的兩個插入命令

你可以用這些刀片的交易,如果你需要確保這兩個查詢將寫入數據

使用這些查詢

$query1 ="INSERT INTO sales (user, date) values(.....)"; 
$query2 ="INSERT INTO settings (price) values(......)"; 
0

你有兩個查詢分開:

INSERT INTO sales (user, date) VALUES (...) 

通過

INSERT INTO settings (price) VALUES (...) 

如果salesauto_increment主鍵,然後,你可以使用LAST_INSERT_ID()在第二個查詢插入後引用sales.id

INSERT INTO settings (sale_id, price) VALUES (LAST_INSERT_ID(), ...) 

請注意,像這些相關的查詢最好放在一個事務中。

相關問題