запись в таблицу mysql с ruby ​​и генерация абсолютно уникального идентификатора, как youtube? - PullRequest
0 голосов
/ 26 октября 2009

как я могу написать в таблицу mysql с ruby? запустить SQL. например, если сценарий ruby ​​завершится, напишите в таблицу mysql, сообщив, что все готово, и как я могу сгенерировать абсолютно уникальный идентификатор? вроде как идентификатор YouTube.

Ответы [ 2 ]

1 голос
/ 26 октября 2009

Для уникального идентификатора это довольно просто. Вы должны взглянуть на автоинкремент mysql .

Для mysql с Ruby вам необходимо использовать mysql gem .
Используя это также довольно легко. Вы можете сделать что-то вроде следующего:

require "mysql"

begin
    # connect to the MySQL server
    dbh = Mysql.real_connect("localhost", "root", "password", "database")

    dbh.query("INSERT INTO database (field) VALUES ('value')")
rescue Mysql::Error => e
    p "Error code: #{e.errno}"
    p "Error message: #{e.error}"
    p "Error SQLSTATE: #{e.sqlstate}" if e.respond_to?("sqlstate")
ensure
    # disconnect from server
    dbh.close if dbh
end

И если вы планируете создать что-то последовательное, вам также может быть интересно использовать Active Record .

1 голос
/ 26 октября 2009

Вот все, что вы хотели бы знать о подключении к MySQL из Ruby:

Если вам нужен только уникальный идентификатор, и вы не против выставить миру явно увеличивающееся целое число, присвойте целочисленное поле автоинкремента для своей таблицы. Я добавил часть «и вы не возражаете», потому что любой, кто взглянет на ваш идентификатор, сможет угадать схему и, скорее всего, будет экспериментировать с получением ближайших целых чисел.

Если вы хотите, чтобы в качестве идентификатора использовалась действительно случайная строка (что более похоже на Youtube), ознакомьтесь с этим обсуждением .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...