小编mea*_*gar的帖子

为什么在存在其他唯一字段时使用自动递增主键?

我正在学习一门名为"数据库系统"的课程,对于我们的课程项目,我必须设计一个网站.

这是我创建的表的示例:

CREATE TABLE users
(
  uid INT NOT NULL AUTO_INCREMENT,
  username VARCHAR(60),
  passhash VARCHAR(255),
  email VARCHAR(60),
  rdate DATE,
  PRIMARY KEY(uid)
);
Run Code Online (Sandbox Code Playgroud)

教授告诉我"uid"(用户ID)完全无用且不必要,我应该使用用户名作为主键,因为没有两个用户可以拥有相同的用户名.

我告诉他我使用用户ID很方便,因为当我调用domain.com/viewuser?id=5之类的东西时,我只需检查参数:is_numeric($_GET['id'])......不用说他不相信.

由于我在大量教程中看到了user_id和其他类似属性(thread_id,comment_id等)并且查看了流行软件(例如vbulletin)的数据库模式,因此必须有很多其他(更强大的)原因.

所以我的问题是:你如何证明需要一个非空的自动递增id作为主键vs使用另一个属性如用户名?

sql database database-design data-modeling

47
推荐指数
4
解决办法
8805
查看次数

检测全屏模式

IE 10的现代桌面版始终是全屏的.

有一种生活规范:fullscreenW3上伪类

但是当我尝试使用jQuery版本1.9.x和2.x检测全屏时:

$(document).is(":fullscreen") 
Run Code Online (Sandbox Code Playgroud)

它抛出了这个错误:

语法错误,无法识别的表达式:全屏

问题:

  1. 是因为jQuery还没有认识到这个标准还是IE10?

  2. 检查全屏模式的传统方法是什么?我期待以下结果:

    function IsFullScreen() {
         /* Retrun TRUE */
         /* If UA exists in classic desktop and not in full screen  */
         /* Else return FALSE */
    }
    
    Run Code Online (Sandbox Code Playgroud)
  3. 没有浏览器嗅探我们能做到吗?

javascript css jquery internet-explorer css3

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

TypeError:需要类似字节的对象,而不是'str'

以下是尝试使用套接字修改用户提供的输入的代码:

from socket import *

serverName = '127.0.0.1'
serverPort = 12000
clientSocket = socket(AF_INET, SOCK_DGRAM)
message = input('Input lowercase sentence:')
clientSocket.sendto(message,(serverName, serverPort))
modifiedMessage, serverAddress = clientSocket.recvfrom(2048)
print (modifiedMessage)
clientSocket.close()
Run Code Online (Sandbox Code Playgroud)

当我执行它并提供输入时,会发生以下错误:

Input lowercase sentence:fdsgfdf
Traceback (most recent call last):
  File "C:\srinath files\NETWORKS\UDPclient.py", line 6, in <module>
    clientSocket.sendto(message,(serverName, serverPort))
TypeError: a bytes-like object is required, not 'str'
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能解决这个问题?

python sockets python-3.x

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

LINQ to Entities中的"NOT IN"子句

反正我是否可以在Linq to Entities的 SQL Server中创建一个not in子句?

c# linq-to-entities

46
推荐指数
3
解决办法
13万
查看次数

如何将变量从awk传递给shell命令?

我试图在awk中为文件的每一行运行一个shell命令,而shell命令需要一个输入参数.我试图使用system(),但它没有识别输入参数.

该文件的每一行都是一个文件的地址,我想运行一个命令来处理该文件.因此,对于一个简单的例子,我想对每一行使用'wc'命令并传递$1给wc.

awk '{system("wc $1")}' myfile
Run Code Online (Sandbox Code Playgroud)

shell awk parameter-passing

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

我可以在电子邮件中使用字体真棒图标吗?

我正在开发一个Rails应用程序,我们需要发送电子邮件.

我已经通过rails gem安装了字体真棒图标(https://github.com/bokmann/font-awesome-rails)(我使用.scss)

它在我的网页视图上工作正常,但在电子邮件上没有.至少gmail不会显示它们.

这是正常的 ?我可以在电子邮件视图/布局上使用真棒字体吗?如果没有,我在哪里可以找到令人敬畏的字体图标的png/svg版本,以便我在网页上使用的图标与我在电子邮件中使用的图标相同(为了保持一致性)?

ruby-on-rails ruby-on-rails-3 font-awesome

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

基于字符串动态创建PHP对象

我想基于MySQL数据库中的字符串定义的类型在PHP中创建一个对象.数据库表包含以下列的列和示例数据:

 id | type | propertyVal
----+------+-------------
  1 | foo  | lorum
  2 | bar  | ipsum
Run Code Online (Sandbox Code Playgroud)

...使用PHP数据类型

class ParentClass {...}
class Foo extends ParentClass {private $id, $propertyVal; ...}
class Bar extends ParentClass {private $id, $propertyVal; ...} 
//...(more classes)...
Run Code Online (Sandbox Code Playgroud)

只使用一个查询,我想按id选择一行,并创建一个类型的对象,定义表的类型列,其中SELECTed行中的其他列被分配给新创建的对象.

我在考虑使用:

  1. mysql_fetch_object()
  2. 读取type属性
  3. 使用type属性定义的类型创建对象

但是知道无法动态创建基于字符串的类型.怎么做到这一点?

php mysql oop casting

44
推荐指数
3
解决办法
6万
查看次数

制作按钮 - <按钮>或<div>?

我想知道在网页上使用什么html元素用于按钮 - 我想像twitter那样设置我的'按钮'.例如:

http://twitter.com/twitter

推文列表底部的"更多"按钮 - 是<button>元素还是<div>元素?我想知道使用哪个.我认为,<button>或者<div>我们可以提供翻转状态和所有这些东西,使它看起来愉快?

html

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

Firefox使dns缓存无效

我太快访问我在客户服务器上设置的网站了,Firefox现在记得,这是(示例)的默认网站

testsite.mycompanyname.com (non existing subdomain, same as *.mycompanyname.com)
Run Code Online (Sandbox Code Playgroud)

www.mycompanyname.dk - or rather the IP of the default server
Run Code Online (Sandbox Code Playgroud)

之后我设置了公共DNS(a-record)以重定向到另一台服务器,但Firefox会记住默认的IP地址.

Chrome/IE/Safari - 没问题,因为他们在DNS开始之前没有访问过该网站...

我在about:config中设置了这些:

network.dns.disablePrefetch = true
network.dnsCacheExpiration = 0
Run Code Online (Sandbox Code Playgroud)

还要别的吗?

我真的需要firebug调试该网站的前端....

干杯

dns firefox browser-cache

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

使用jQuery导航离开页面

我只会有一个相对链接,但我想使用jQuery导航到这个rel链接.我只在jQuery中看到AJAX功能.我怎么能用jQuery或纯HTML/JavaScript做到这一点?

javascript jquery

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