-4
私は以下のようなMySQLテーブルを持っています。同じレコードを持つ "url"フィールド4ランダムな "st" area "1"私はそれを更新したい。 これはSQLクエリで行うことはできますか?MySQL固有の更新クエリ
次のような結果になりますが、更新:
私は以下のようなMySQLテーブルを持っています。同じレコードを持つ "url"フィールド4ランダムな "st" area "1"私はそれを更新したい。 これはSQLクエリで行うことはできますか?MySQL固有の更新クエリ
次のような結果になりますが、更新:
私は OPはランダムな値(0または1のいずれか)で更新された列st
を望んでいると思います。 これが本当であるならば、次の文は、実行します:
update mytable set st=floor(rand()*2);
RAND()
を:
は範囲0 < = V < 1.0にランダムな浮動小数点値vを返します。
だからRAND()*2
は0または1
floor(rand()*2)
は、行ごとに再評価されているため、この作品を与えて小数部分をオフフロート0 <= v < 2.0
、およびFLOOR()
ストリップを与えるので、各行は「新しい」ランダムを取得します値。 1つのがだと思うと、MySQLはRANDの部分を一度だけ評価します(すべての列に同じ値を与えます)。しかし、そうではありません。
希望の出力を表示 – splash58
@ splash58更新しました。 – user3236432
なぜそれはある行を変更し、別の行を変更しないのですか? "1"に設定する行の違いは何ですか? –