ডিফল্ট মান র্যান্ডম স্ট্রিং সহ কীভাবে ডিবিতে কলাম তৈরি করবেন


10

আমি কি ডিবি টেবিলের (পোস্টগ্রাইএসকিউএল) কলাম তৈরি করতে পারি যার ডিফল্ট মান র্যান্ডম স্ট্রিং রয়েছে এবং কীভাবে?

যদি সম্ভব না হয়, দয়া করে আমাকে তা জানান।


দয়া করে মাইএসকিউএলের জন্য আবার জিজ্ঞাসা করুন যদি আপনারও সেই
আরডিবিএমএসের

উত্তর:


11

পোস্টগ্রিএসকিউএল উদাহরণ:

CREATE OR REPLACE FUNCTION f_random_text(
    length integer
)
RETURNS text AS
$body$
WITH chars AS (
    SELECT unnest(string_to_array('A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9', ' ')) AS _char
),
charlist AS
(
    SELECT _char FROM chars ORDER BY random() LIMIT $1
)
SELECT string_agg(_char, '')
FROM charlist
;
$body$
LANGUAGE sql;


DROP TABLE IF EXISTS tmp_test;


CREATE TEMPORARY TABLE tmp_test (
    id serial,
    data text default f_random_text(12)
);


INSERT INTO tmp_test
VALUES 
    (DEFAULT, DEFAULT),
    (DEFAULT, DEFAULT)
;


SELECT * FROM tmp_test;

 id |     data
----+--------------
  1 | RYMUJH4E0NIQ
  2 | 7U4029BOKAEJ
(2 rows)

স্পষ্টতই আপনি এটি করতে পারেন। (অবশ্যই, আপনি অন্যান্য অক্ষরের পাশাপাশি যোগ করতে পারেন, অথবা অন্যান্য র্যান্ডম স্ট্রিং জেনারেটর ব্যবহার করেন - মত এই । উদাহরণস্বরূপ,)


1
এমডি 5 নির্বাচন করুন (এলোমেলো () :: পাঠ্য); - এটাই, ধন্যবাদ!
তাসমানিস্কি

17

সমাধানটি হ'ল (পিজিএসকিউএল এর জন্য):

alter TABLE users ADD column register_key text NOT NULL default md5(random()::text);

1
এটি একটি সুন্দর কৌশল!
সিজউভিন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.