问题列表 - 第12486页

SQL:主键和索引究竟做了什么?

我最近开始开发我的第一个使用SQL数据库的认真应用程序,我正在使用phpMyAdmin来设置表.有几个可选的"功能",我可以提供各种列,我不完全确定他们做了什么:

  • 首要的关键
  • 指数

我知道PK是什么以及如何使用它,但我想我的问题就是为什么需要一个 - 如何将列设置为"Unique",除了你可以只有一个PK?只是让程序员知道这个值唯一地标识记录吗?或者它也有一些特殊属性?

我不知道"索引"是做什么的 - 实际上,我见过它的唯一时间是(1)我的主键似乎被索引了,(2)我听说索引与性能有某种关系; 你想要索引列,但不是太多.如何确定索引哪些列,以及它究竟做了什么?

编辑:如果一个索引colums一个可能想要ORDER BY?

非常感谢,

马拉

sql phpmyadmin

19
推荐指数
3
解决办法
4万
查看次数

C中的奇怪错误

所以我有一个C程序.而且我认为由于复杂性问题我不能发布任何代码片段.但我会概述我的错误,因为它很奇怪,看看是否有人可以给出任何见解.

我设置了一个指针NULL.如果,在我设置指针的同一个函数中NULL,我printf()指针(带"%p"),我得到0x0,当我在程序结束时打印一百万英里外的相同指针时,我得到了0x0.如果我删除printf()并且绝对不做任何其他更改,那么当稍后打印指针时,我会得到0x1,并且我的结构中的其他随机变量也具有不正确的值.我正在用GCC编译它-O2,但是如果我取消优化它会有相同的行为,所以这不是问题.

这听起来像是一个Heisenbug,我不知道它为什么会发生,也不知道如何解决它.过去曾经处理过类似问题的人有没有就如何解决这类问题提出建议?我知道这听起来有点模糊.

编辑:不知何故,它现在有效.谢谢大家,感谢您的建议.

调试器告诉我有趣的事情 - 我的变量被优化了.所以我重新编写了函数,因此它不需要中间变量,现在它可以使用和不使用printf().我对可能发生的事情有一个模糊的概念,但我需要的睡眠比我需要知道的更多.

c

-1
推荐指数
1
解决办法
421
查看次数

是否可以覆盖ASP.NET MVC中[Authorize]的默认行为?

我想知道是否/如何覆盖ASP.NET MVC中的默认[Authorize]行为.我知道我可以创建一个新的Action Filter,创建自己的属性等等; 我只是感兴趣,如果我可以简单地更改[授权]行为并用我自己的代码替换它的工作?

编辑:男孩和女孩.感谢您的意见,但正如我所写,我打算引入新的[XYZAuthorize]属性.我知道怎么做.我想保留[授权]符号,但只是改变它的工作原理.

.net c# asp.net-mvc authorize-attribute action-filter

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

为什么我的析构函数从未被调用过?

我有一个基类A和一个派生类B:

class A
{
public:
    virtual f();
};

class B : public A
{
public:
     B()
     {
         p = new char [100];
     }
     ~B()
     {
         delete [] p;
     }
     f();
private:
    char *p;
};
Run Code Online (Sandbox Code Playgroud)

出于任何原因,析构函数永远不会被调用 - 为什么?我不明白这一点.

c++ memory-leaks

12
推荐指数
2
解决办法
6027
查看次数

如何用字符串包装(前缀和后缀)列中的所有值?

我有一个大约1000行的mysql表.

id column
1  apple
2  banana
...
etc
Run Code Online (Sandbox Code Playgroud)

我需要一个mysql查询(UPDATE)来包装(前缀和后缀)具有特定字符串的列中的所有值,让我们说"_",所以我期待一个结果:

id column
1  _apple_
2  _banana_
...
etc
Run Code Online (Sandbox Code Playgroud)

怎么做?请指教.

mysql

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

startwith有多好?

text.startswith('a')  
Run Code Online (Sandbox Code Playgroud)

比...更好

text[0]=='a'  
Run Code Online (Sandbox Code Playgroud)

知道文本不是空的,我们只对它的第一个字符感兴趣.

python

17
推荐指数
7
解决办法
8625
查看次数

设置UINavigationController的工具栏项

在iPhone OS 3.0中,您可以使用该setToolbarItems:animated:方法设置UINavigationController的工具栏项.但是,这需要您传入一个UIToolbarItem数组.虽然我可以以编程方式创建这些工具栏项,但我宁愿在Interface Builder中创建它们.

考虑到这一点,我在"MyGreatViewController.xib"中创建了一个UIToolbar,并用想要的工具栏项填充它.然后,在"MyGreatViewController.m"中,我从工具栏中获取项目并将它们传递给setToolbarItems:animated::

- (void)viewDidLoad {
    [super viewDidLoad];
    [self setToolbarItems: [toolbar items]];
}
Run Code Online (Sandbox Code Playgroud)

...在哪里toolbar是一个引用UIToolbar的IBOutlet.

这是一个好方法吗?有没有更好的方法来实现这一目标?我应该以编程方式创建项目吗?

cocoa-touch interface-builder uitoolbar uinavigationcontroller uitoolbaritem

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

检测重复小数的算法?

是否有算法来计算以下内容?

  1. 如果除法的结果是重复的十进制(二进制).
  2. 如果它重复,那么重复开始的是什么数字(表示为2的幂)?
  3. 什么数字重复?

一些例子:

1/2 = 1/10 = 0.1 // 1 = false, 2 = N/A, 3 = N/A, 4 = N/A
1/3 = 1/11 = 0.010101... // 1 = true, 2 = -2, 3 = 10
2/3 = 10/11 = 0.101010... // 1 = true, 2 = -1, 3 = 10
4/3 = 100/11 = 1.010101... // 1 = true, 2 = 0, 3 = 10
1/5 = 1/101 = 0.001100110011... // 1 = true, 2 = -3, …
Run Code Online (Sandbox Code Playgroud)

algorithm rational-numbers

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

C# - 接口 - 类型初始化

考虑这个例子:

IList<string> _lstColl = new[] { "Alex", "Sam", "Gates", "Riaz" };
Run Code Online (Sandbox Code Playgroud)

我可以将它初始化为:

string[] _stringBag =   new[] { "Alex", "Sam", "Gates", "Riaz" };
Run Code Online (Sandbox Code Playgroud)

在这里使用接口有什么好处?

c#

0
推荐指数
1
解决办法
223
查看次数

实现INotifyPropertyChanged - 是否存在更好的方法?

微软应该已经实现了一些有趣的东西INotifyPropertyChanged,就像在自动属性中一样,只需指定{get; set; notify;} 我认为这样做很有意义.或者有任何并发​​症吗?

我们自己可以在我们的属性中实现类似'notify'的内容.是否有一个优雅的解决方案,INotifyPropertyChanged在您的班级实施或唯一的方法是通过提高PropertyChanged每个属性中的事件.

如果没有,我们可以写一些东西来自动生成一段代码来引发PropertyChanged 事件吗?

.net c# inotifypropertychanged winforms

621
推荐指数
14
解决办法
29万
查看次数