2017-01-16 3 views
1

私はこのtable1を持っていると私はowner=0SQL:UPDATE TOP 3は機能しませんでしたか?

は今、私はクロスTOP(数を)来ていることの3を更新したいが、私は動作するように思われません。

mysqli_query($connect, "UPDATE TOP 3 table1 SET owner=1 WHERE owner=0") or die("can't update"); 

結果:can't updateTOP 3しようとしたが、ここでのコードの私のラインをTOP (3)を試してみました。

私はSELECTで先頭を試しました。ここでは:

mysqli_query($connect, "SELECT TOP 3 * FROM table1 WHERE owner=1") or die("can't select"); 

結果:can't selectです。

+2

あなたが使用しているDBMS? –

+0

['TOP'キーワードはSQL ServerとMS Access用です](http://www.w3schools.com/sql/sql_top.asp)。その外観から、MySQLデータベースを使用しています。代わりに 'LIMIT'キーワードを試してください。 – roberto06

+0

あなたは 'Mysql'を使っているようです。 Mysqlでは、結果を制限するために 'Limit'が使用されます。 'UPDATE table1 SET owner = 1 WHERE owner = 0 LIMIT 3' –

答えて

2

topは、Microsoftの固有の構文の一部です。使用しているは、別のRDBMSであり、この構文をサポートしていません。代わりに、あなたは両方のselect声明の中で、limit構文を使用することができます。

SELECT * FROM table1 WHERE owner = 1 LIMIT 3 

文またはUPDATE文:

UPDATE table1 SET owner = 1 WHERE owner = 0 LIMIT 3 
関連する問題