小编pet*_*erm的帖子

为什么PostgreSQL中没有无符号整数?

我遇到过这篇文章(在MySQL中,tinyint,smallint,mediumint,bigint和int之间的区别是什么?)并且意识到PostgreSQL不支持无符号整数.

任何人都可以帮忙解释为什么会如此?

大多数时候,我使用无符号整数作为MySQL中的自动递增主键.在这样的设计中,当我将数据库从MySQL移植到PostgreSQL时,如何克服这个问题呢?

谢谢.

postgresql unsigned-integer

98
推荐指数
4
解决办法
5万
查看次数

#1214 - 使用的表类型不支持FULLTEXT索引

我收到一个错误,说表类型不支持FULLTEXT索引.我怎样才能做到这一点?

这是我的表:

CREATE TABLE gamemech_chat (
  id bigint(20) unsigned NOT NULL auto_increment,
  from_userid varchar(50) NOT NULL default '0',
  to_userid varchar(50) NOT NULL default '0',
  text text NOT NULL,
  systemtext text NOT NULL,
  timestamp datetime NOT NULL default '0000-00-00 00:00:00',
  chatroom bigint(20) NOT NULL default '0',
  PRIMARY KEY  (id),
  KEY from_userid (from_userid),
  FULLTEXT KEY from_userid_2 (from_userid),
  KEY chatroom (chatroom),
  KEY timestamp (timestamp)
)  ;
Run Code Online (Sandbox Code Playgroud)

*

mysql

68
推荐指数
3
解决办法
10万
查看次数

替换为查询语法

我希望能够使用"替换为"语句更新相同模式的表.最后,我需要能够使用可能已更改的值更新大型表.

这是我用来开始的查询:

REPLACE INTO table_name
(visual, inspection_status, inspector_name, gelpak_name, gelpak_location),
VALUES (3, 'Partially Inspected', 'Me', 'GP1234', 'A01');
Run Code Online (Sandbox Code Playgroud)

我不明白的是数据库引擎如何知道什么是重复行而哪些不是?这些数据非常重要,我不能冒数据被破坏的风险.它是否像"如果列出的所有列具有相同的值,它是重复的行"一样简单?

我只是想弄清楚这样做的有效方法,所以我可以在一分钟内更新> 45,000行.

mysql sql database replace

42
推荐指数
2
解决办法
7万
查看次数

MySql中的条件更新

我试图从表中更新值,但我需要添加一些条件.我找到了CASE函数,但如果它是最好的方法,我不是.这是一个例子:

我的桌子就是'关系'

userid1|userid2|name1|name2

我得到了例如:

SELECT * 
  FROM realtion 
 WHERE (userid1 = 3 AND userid2 = 4)
    OR (userid1 = 4 AND userid2 = 3);  
Run Code Online (Sandbox Code Playgroud)

输出:

     
4|3|bill|jack

我想在3和4之间的关系中更改用户3的名称,但我不知道它是userid1还是userid2.

我虽然如此

UPDATE relation 
   CASE WHEN userid1 = 3 THEN SET name1 = 'jack' END 
        WHEN userid2 = 3 THEN SET name2 = 'jack' END 
 WHERE (userid1 = 3 AND userid2 = 4) 
    OR (userid1 = 4 AND userid2 = 3);
Run Code Online (Sandbox Code Playgroud)

但它不起作用!有任何想法吗?首先十分感谢.

mysql sql sql-update

26
推荐指数
2
解决办法
3万
查看次数

MySQL使用Sum和Case

我正在尝试创建一个使用ASP.NET连接到MySQL数据库的GridView.数据如下所示.

BusinessUnit    OrderDate      Canceled
UnitA           1/15/2013          N
UnitA           10/1/2013          N
UnitB           10/15/2013         N
UnitB           10/22/2013         N
UnitB           10/22/2013         N
Run Code Online (Sandbox Code Playgroud)

根据上面的记录,我希望结果如下所示

BusinessUnit  TodaysOrders   ThisMonthsOrders  ThisYearsOrders
UnitA              0                1                2
UnitB              2                3                3
Run Code Online (Sandbox Code Playgroud)

我目前的代码如下.它给了我错误(关于DatabaseName.sum的东西不存在.检查函数名称解析和解析'部分......)

Select  
    SUM (CASE WHEN (OrderDate)=DATE(NOW()) THEN 1 ELSE 0 END) AS TodaysOrders,
    SUM (CASE WHEN YEAR(OrderDate) = YEAR(CURDATE()) AND MONTH(OrderDate) = MONTH(CURDATE()) THEN 1 ELSE 0 END) AS ThisMonthsOrders,
    SUM (CASE WHEN YEAR(main_order_managers.creation_date) = YEAR(CURDATE()) THEN 1 ELSE 0 END) AS ThisYearsOrders 
Run Code Online (Sandbox Code Playgroud)

代码继续

FROM OrderTable WHERE OrderTable.Canceled. …
Run Code Online (Sandbox Code Playgroud)

mysql sql sum case

15
推荐指数
1
解决办法
4万
查看次数

MySQL服务器已经在Drupal 7中消失了

在我的表单字段类型中,我编辑文件菜单会出现这些错误,

致命错误:未捕获的异常'PDOException',消息'SQLSTATE [HY000]:常规错误:2006 MySQL服务器已经消失'在第2168行的D:\ wamp\www\cms_development\includes\database\database.inc中(!)PDOException :SQLSTATE [HY000]:一般错误:2006 MySQL服务器已经在第2168行的D:\ wamp\www\cms_development\includes\database\database.inc中消失了

任何人都知道如何纠正这个错误......

mysql drupal

12
推荐指数
1
解决办法
1万
查看次数

在GROUP_CONCAT中使用COUNT

这是我的表:

id    fk_company
1          2    
2          2    
3          2    
4          4    
5          4    
6          11   
7          11   
8          11   
9          12
Run Code Online (Sandbox Code Playgroud)

我想要的结果应该是字符串"3,2,3,1",因为这只是我的复杂查询字符串的一部分.

我试图使用这个查询:

SELECT GROUP_CONCAT(COUNT(id) SEPARATOR ", ")
FROM `table` GROUP BY fk_company;
Run Code Online (Sandbox Code Playgroud)

但是我收到了一个错误:

错误号码:1111

组功能的使用无效

我有一种感觉COUNT,MAX,MIN或SUM不能在GROUP_CONCAT中使用.如果是这样,你知道另一种方法吗?

mysql sql count group-concat

11
推荐指数
1
解决办法
2万
查看次数

Postgresql触发器基于一列的值来更改或更新每行中其他列的值.

我是Postgresql的新手学生.学生表中只有4列

id              serial,
student_name    varchar(50), 
student_marks   integer,
grade           varchar(1)
Run Code Online (Sandbox Code Playgroud)

现在我希望创建一个命名的触发器(语言:pl/sql)fill_grade_auto,根据student_marks该等级,等级将自动更新为A(对于90以上的标记),B(对于60以上但小于90)并且以C为基础年级.

应在每行插入或更新后触发此触发器.我尝试了不同的方法,但没有成功.

sql postgresql triggers

11
推荐指数
1
解决办法
6206
查看次数

Mysql - Mysql2 ::错误:字符串值不正确:

所以我建造了一个刮刀并且正在拉动一些物体.问题是一些是外语,它有点绊倒mysql数据库.这是我得到的错误.知道我能用这个做什么吗?谢谢!

Mysql2 ::错误:不正确的字符串值: '\ XC5\x8Dga,......'在第1行的列'说明':INSERT INTO sammiches(country, created_at,description,image,name,updated_at)VALUES( '日本',"2013年5月3日01 :17:06','一个热狗面包塞满炒面,经常淋上泡菜,如贝尼shōga,蛋黄酱','/ wiki /文件:Yakisoba_sandwich_by_kaex0r.jpg','Yakisoba-pan','2013- 05-03

mysql

9
推荐指数
3
解决办法
8895
查看次数

检查MysQL中的日期是Upcoming还是Past

我在表中有两列

  • event_date(价值是2013年9月22日)
  • event_time(价值是晚上7:11)

现在我想写一个查询,该查询应返回在Future或Past中有时间和日期的行

我写了这样的东西

select * from events e 
where concat(e.event_date,' ',e.event_time) <= date_format(now(),'%m/%d/%Y  %g:%i %a')
Run Code Online (Sandbox Code Playgroud)

但它并没有起作用,它只是其中一个你永远不知道它们有什么问题的东西

提前致谢 !

mysql sql

8
推荐指数
2
解决办法
1万
查看次数