草庐IT

id_colour

全部标签

mysql - Rails 将主 ID 更改为 64 位 bigint

我正在使用Rails和mysql2适配器。我想将所有主ID和外键更改为64位整数,而不是默认的32位整数,因为它们现在用于我的生产数据库。这是即时可行的还是我必须删除数据库、更改结构并再次导入数据?如果有一种方法可以在不删除数据库的情况下做到这一点,即使它是一种hack,也很高兴知道。 最佳答案 Rails5.1已经为迁移添加了bigint类型,您可以这样做:change_column:users,:id,:bigint来源:http://www.mccartie.com/2016/12/05/rails-5.1.html

PHP - 使用一组 ID 从数据库中删除许多项目

我有这个数组array(4){[0]=>string(1)"1"[1]=>string(1)"3"[2]=>string(1)"4"[3]=>string(1)"5"}这个数组的每个元素都是帖子的ID。在mysql中,表posts,列ID。删除一个ID的查询类似于从id=$id的帖子中删除我可以查看这个数组并对每个数组进行删除查询。但它们是4个。所以这将是4个查询。如果我有70?70个查询....问题是,如何一次删除所有具有此ID数组的帖子? 最佳答案 首先使用implode()从您的数组中创建一个字符串,然后使用WHEREidIN

java - 使用@GeneratedValue(strategy=GenerationType.TABLE),sequence_next_hi_value 是一个 int(11) 但我的表有一个 id 列 bigint(20)

我将@Id与@GeneratedValue(strategy=GenerationType.TABLE)一起使用,只是检查了hibernate是否创建了一个表hibernate_sequences,但是sequence_next_hi_value的列类型是一个int(11)。我有一些具有bigint(20)类型的id字段的实体(我的意思是表),这行得通吗?当我的表达到我期望的行数时?谢谢 最佳答案 (...)hibernatehascreatedatablehibernate_sequences,butthecolumntypefo

mysql - 可以使用十六进制作为数据库 ID 吗?

我刚刚收到了一个对我来说有点奇怪的数据库模式。数据库位于SoapWeb服务后面,我注意到所有表ID都是十六进制格式的字符串例如:0x1D283F我必须将数据复制到MySQL数据库中。我从来没有使用Hex作为ID,所以我不知道这是好主意还是坏主意,或者这两种方式都不重要。我猜自动增量在这里不起作用,这让我觉得这将是一个坏主意。我可以将它们转换为整数,或保持原样,但有什么影响。 最佳答案 首先,一个数是'16进制'还是'10进制'只是外在表现形式的问题,不会改变存储格式。但是,使用数字字符串作为数据库索引显然效率低下,并且可能会阻止某些

c# - 删除表中的行时如何更新自动增量ID?

我正在创建使用C#中的MYSQL数据库的应用程序。我想删除行并更新表中id的自动增量值。例如,我有一个包含两列的表:id和station,表是站列表。像这样idstation1pt12pt23pt3如果我删除第二行,删除表格后看起来像这样:idstation1pt13pt3有什么方法可以更新表的id,对于这个例子,第三行的id而不是值3的值是2?提前致谢! 最佳答案 根据定义,自动增量列不应手动更改。如果其他一些表使用此ID(3)作为外键来引用此表中的该记录,会发生什么情况?该表应相应更改。(想一想,在您的示例中很简单,但是如果在m

php - opencart获取最后一个订单id到成功页面

是否可以获取最后的订单ID到订单成功页面。?我只想获取上次订单ID,因此我可以设置指向我的模板文件success.tpl的链接,该链接将转到上次订单信息页面。我尝试了controller/checkout/success.php中的内容$this->load->model('checkout/order');$order_last_id=$this->db->getLastId();$this->data['order_info']=$this->url->link('account/order/info','order_id='.$order_last_id,'SSL');但是,不幸

mysql - 使用 seed_dump gem 获取所有模型的 ID

您好,我正在使用seed_dumpgem从现有数据创建seeds.rb但我坚持了一件事我想获得所有模型的id以及我如何才能做到这一点例如如果我运行rakedb:seed:dump我只是得到这样的代码Product.create(title:"title",description:"text")但是我想要这个Product.create(id:1,title:"title",description:"text")我该怎么做? 最佳答案 rakedb:seed:dumpEXCLUDE=[]这会覆盖[:id,:created_at,:up

sql - 如何删除仅 ID 不同的两行

我有一个脚本,它使用相同的数据对数据库进行两次插入。有没有好的方法(无需扫描,将每条记录插入数组,然后删除重复的数组条目)? 最佳答案 DELETEFROMtWHEREIDIN(SELECTMAX(ID)FROMtGROUPBY{YourGroupCriteriaHere}HAVINGCOUNT(*)>1) 关于sql-如何删除仅ID不同的两行,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/ques

php - 您能否在一个查询中更新具有最高 ID 的行?

我希望能够更新具有最高ID的行。问题是:我找不到任何优雅的解决方案来做到这一点。这是我迄今为止最好的尝试:$highestId=mysql_result(mysql_query('SELECTMAX(id)FROMstats'),0);mysql_query("UPDATEstatsSETviews=views+1WHEREid=$highestId");也许有比我想象的更好的方法。我每天都在跟踪浏览量我希望它自动递增最后一天(最高ID)晚上我运行一个cronjob来创建新的一天。欢迎就如何解决此问题提出任何建议,即使是完全不同的方法。表stats=>id|意见

php - $this->db->insert_id();每次在 codeigniter 中返回 0

这个问题在这里已经有了答案:HowtotestifCisuccessfullyinserteddata(4个答案)关闭7年前。我正在使用codeigniter并一次插入一条记录。但问题是$this->db->insert_id();每次都返回0,但是记录已成功创建。我想不通。这是常见情况还是我犯了一些愚蠢的错误。我使用email_id作为主键,使用手机号作为唯一键。这是我的模态代码:functionsignup_insert($data){$result=$this->db->insert('registration_detail',$data);$insert_id=$this->d