1
我試圖通過PHP插入幾個值到表如下:SQL插入如果沒有記錄存在
$sql = "INSERT INTO table1(Field1, Field2)
Values (?, ?)
";
$stmt = $db-> prepare($sql);
$stmt->execute(array($field1, $field2));
$stmt->closeCursor();
字段1是主鍵。
但是,我只想插入Field1,如果表中沒有field1的記錄實例(例如,如果已經有一個field1記錄爲'orange',則不應插入另一個'orange'if要求這樣做)。
我覺得這一定是非常簡單的事情,但我沒有嘗試似乎正在工作。
所以檢查記錄第一存在? – Kermit 2013-03-22 22:08:48
@ RS-它不讓我評論,所以很抱歉發佈這個答案 嗯,我試過了,它只插入了1行,一切都是空白的。這裏是我的實際代碼: INSERT INTO表1(SKU,標題) \t \t \t SELECT(AT)SKU,(在)方法,從雙 \t \t \t WHERE NOT EXISTS(選擇1 FROM表1 WHERE SKU = @ SKU) \t \t \t「; \t $語句= $ DB->製備($ SQL); \t $ stmt->執行(陣列($ SKU,$ ID)); \t $ stmt-> closeCursor(); $ stmt-> execute中的$ SKU和$ id是在foreach循環中創建的變量。 – user2201011 2013-03-22 23:05:17
@us er2201011:你應該添加一個標籤,說明你正在使用哪個RDBMS。 – jmoreno 2013-03-23 12:40:47