GIT.Harvie.CZ
/
mirrors
/
SokoMan.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
9fb856b
)
REPLACE INTO nahrazeno vyrazem UPDATE - ON DUPLICATE KEY (kvuli referencni integrite)
author
Thomas Mudrunka
<tomas@mudrunka.cz>
Sat, 6 Aug 2011 05:22:04 +0000
(07:22 +0200)
committer
Thomas Mudrunka
<tomas@mudrunka.cz>
Sat, 6 Aug 2011 05:22:04 +0000
(07:22 +0200)
index.php
patch
|
blob
|
blame
|
history
diff --git
a/index.php
b/index.php
index 7d500bac22b08ee934ba60baff196e3a4a967d50..0614a8d491015f5d5d198233910452148604f8d3 100755
(executable)
--- a/
index.php
+++ b/
index.php
@@
-349,7
+349,8
@@
class Sklad_DB extends PDO {
$table = $this->escape($table);
//Get list of POSTed columns
$table = $this->escape($table);
//Get list of POSTed columns
- $columns = implode(',',array_map(array($this,'escape'), array_keys($values[0])));
+ $columns_array = array_map(array($this,'escape'), array_keys($values[0]));
+ $columns = implode(',',$columns_array);
//Build query
$sql = '';
//Build query
$sql = '';
@@
-372,8
+373,7
@@
class Sklad_DB extends PDO {
}
//Insert into table (columns)
}
//Insert into table (columns)
- $sql .= $replace ? 'REPLACE' : 'INSERT';
- $sql .= " INTO $table ($columns) VALUES ";
+ $sql .= "INSERT INTO $table ($columns) VALUES ";
//Values (a,b,c),(d,e,f)
$comma='';
//Values (a,b,c),(d,e,f)
$comma='';
@@
-399,6
+399,15
@@
class Sklad_DB extends PDO {
$comma = ',';
}
$comma = ',';
}
+ //On duplicate key
+ if($replace) {
+ foreach($columns_array as $col) {
+ if($col == $table.'_id' || $col == $table.'_valid_till') continue;
+ $on_duplicate[] = "$col=VALUES($col)";
+ }
+ $sql .= "\nON DUPLICATE KEY UPDATE ".implode(',', $on_duplicate);
+ }
+
//Terminate
$sql .= ';';
return $sql;
//Terminate
$sql .= ';';
return $sql;
This page took
0.125942 seconds
and
4
git commands to generate.