MYSQL DB中的错误:无法存储呼叫ID

时间:2013-08-06 18:12:08

标签: mysql ruby twilio

因此,我使用MySql数据库来存储Twilio API生成的客户和员工呼叫ID,然后能够通过从脚本向同一个Twilio API发送请求来重定向呼叫并桥接它们。例如:

  

@client = Twilio::REST:Client.new account_sid, auth_token

     

call = @client.account.calls.create({:from => '*OUTGOING*', :to => '*RECIEVEING*', :url => '*URL*', :method => 'GET'})

     

puts call.sid

这是我的.sql文件的样子:

  

#apply using: mysql < create-twilio.sql

     

DROP DATABASE IF EXISTS twilio;

     

CREATE DATABASE twilio;

     

USE twilio;

     

CREATE TABLE calls (

     

created_at DATETIME,

     

updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

     

id INTEGER UNSIGNED AUTO_INCREMENT,

     

incoming_Cid INTEGER NOT NULL,

     

conf_Id INTEGER,

     

secondary_Cid INTEGER,

     

ended BOOLEAN,

     

PRIMARY KEY(id),

     

UNIQUE INDEX(incoming_Cid),

     

INDEX(conf_Id),

     

INDEX(secondary_Cid)

     

);

在测试代码之前,当我尝试手动修改incoming_Cid以将其从随机值(如&#39; 256&#39;到实际的Twilio通话ID,如&#39; CA9321a83241035b4c3d3e7a4f7aa6​​970d &#39;我收到如下错误:

  

Query OK, 0 rows affected, 1 warning (0.00 sec)

     

Rows matched: 1 Changed: 0 Warnings: 1

如何解决这个问题,以便能够输入上述呼叫ID(34个字符串)?

1 个答案:

答案 0 :(得分:1)

你必须给incoming_Cid一个CHAR类型:

incoming_Cid CHAR(34) NOT NULL

如果它可以大于34,请给它一个更大的值。