Toon posts:

mysql] switches values???

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hi,

Ik heb een table met daar in een cid (uniek) een een pri (niet uniek)

Nu wil ik 2 rows updaten met de waarde van de andere.

Ik heb dit al geprobeert maar dat werkt niet (nog niet ze zijn het wel van plan om het te maken):
code:
1
2
3
4
UPDATE `content` AS content1, `content` AS content2 SET
  @temp = `content1`.`pri`, 
  `content1`.`pri` = `content2`.`pri`, `content2`.`pri` = @temp
  WHERE `content1`.`cid` = '" . $cid1 . "' AND `content2`.`cid` = '" . $cid2 . "';

en als ik dit doe:
code:
1
2
3
UPDATE `content` AS content1, `content` AS content2 SET
  `content1`.`pri` = `content2`.`pri`, `content2`.`pri` = `content1`.`pri` 
  WHERE `content1`.`cid` = '" . $cid1 . "' AND `content2`.`cid` = '" . $cid2 . "';

werkt het ook niet (duh), dit is het zelfde als:
PHP:
1
2
3
4
<?
$test1 = $test2;
$test2 = $test1;
?>

en de twee variablen zijn het zelfde (net zo als in mysql)

Hoe kan ik dit doen?

  • Rotjeknor
  • Registratie: April 2001
  • Laatst online: 03-02 15:29
Kan aan mij liggen, maar ik heb het nu 4 keer doorgelezen en ik snap het nog niet... Geef eens een concreet voorbeeld van wat je zou willen dat er gebeurt?

Ook Knor is aangestoken met het ligfietsvirus!


Verwijderd

Topicstarter
Rotjeknor schreef op 21 maart 2003 @ 11:13:
Kan aan mij liggen, maar ik heb het nu 4 keer doorgelezen en ik snap het nog niet... Geef eens een concreet voorbeeld van wat je zou willen dat er gebeurt?
sorry als ik een beetje onduidelijk ben:

ik heb dit:

code:
1
2
3
4
5
cid   pri
1     1
2     4
3     2
4     3


en nu wil ik dit krijgen:

code:
1
2
3
4
5
cid   pri
1     2
2     4
3     1
4     3


dus ik verwissen pri tussen cid 1 en cid 3

kan dat in 1 query?

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Je kan helemaal geen meerdere tabellen tegelijk updaten...

Tenminste, bij mijn weten snapt mysql dat helemaal niet. Je zult er dus in je code omheen moeten werken.

Verwijderd

Topicstarter
ACM schreef op 21 maart 2003 @ 11:22:
Je kan helemaal geen meerdere tabellen tegelijk updaten...

Tenminste, bij mijn weten snapt mysql dat helemaal niet. Je zult er dus in je code omheen moeten werken.
in mysql 4 kan dat wel :-)

http://www.mysql.com/doc/en/UPDATE.html:

code:
1
2
3
4
5
6
7
8
9
10
UPDATE [LOW_PRIORITY] [IGNORE] tbl_name [, tbl_name ...]
    SET col_name1=expr1 [, col_name2=expr2 ...]
    [WHERE where_definition]


Starting with MySQL Version 4.0.4, you can also perform UPDATE operations that cover multiple tables: 

UPDATE items,month SET items.price=month.price
WHERE items.id=month.id;
Note: you can not use ORDER BY or LIMIT with multi-table UPDATE.

Verwijderd

Verwijderd schreef op 21 maart 2003 @ 11:10:
PHP:
1
2
3
4
<?
$test1 = $test2;
$test2 = $test1;
?>
Dit werkt toch niet? Tenslotte zijn na je eerste regel test1 en test2 gelijk en heeft regel 2 geen zin meer.

PHP:
1
2
3
4
5
<?
$temp = $test1;
$test1 = $test2;
$test2 = $temp;
?>

  • ProgrammerX
  • Registratie: Juli 2002
  • Laatst online: 26-02-2021
Verwijderd schreef op 21 March 2003 @ 12:16:
[...]


Dit werkt toch niet? Tenslotte zijn na je eerste regel test1 en test2 gelijk en heeft regel 2 geen zin meer.

PHP:
1
2
3
4
5
<?
$temp = $test1;
$test1 = $test2;
$test2 = $temp;
?>
Volgens mij had de ts dit zelf al in de gaten ;)

Verwijderd

Topicstarter
ProgrammerX schreef op 21 March 2003 @ 12:47:
[...]


Volgens mij had de ts dit zelf al in de gaten ;)
ik schreef dit als voorbeeldje

Maar kan iemand mij helpen?
Pagina: 1