MySQL 8: Binärzeichenfolge einfügen fehlgeschlagen

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: MySQL 8: Binärzeichenfolge einfügen fehlgeschlagen

by Guest » 18 Jan 2025, 22:10

Code: Select all

CREATE TABLE `tmp` (
`wid` bigint unsigned NOT NULL,
`simhash` binary(255) NOT NULL,
PRIMARY KEY (`wid`),
UNIQUE KEY `u_simhash` (`simhash`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

TRUNCATE `tmp`;
insert into tmp set wid=4, simhash=b'10';
SELECT wid,bin(simhash+0) FROM tmp;
Wie oben möchte ich eine Binärzeichenfolge „10“ (entspricht Dezimalzahl 2) in ein Binärfeld einfügen.
Aber es schlägt fehl. Das Ergebnis von bin(simhash+0) ist 0 und nicht 10, wie ich erwartet hatte.
Was ist also das Problem? Ich möchte nur eine Binärzeichenfolge (wie „1000110101101....“) in das Binärfeld einfügen.
  • Env: MySQL 8.0.40
  • Client: MySQL Workbench 8.0.40
PS: Verwenden Sie SELECT bin(simhash+0), um die Binärzeichenfolge des zu erhalten Feld. Z.B. Zeigt „10“ für die Dezimalzahl 2 an.
Image

Top