我想要创建一个PHP页面,它从MySQL数据库中随机选择一个记录(一个字符串,它将用作唯一的“令牌”)。我只想选择这个随机记录一次,以后再也不会。
为了做到这一点,我向表中添加了一个额外的字段(名为‘number field’,包含数字0),该字段在特定记录被选中时会增加。这样,只能选择数字字段表字段中具有0值的记录。一旦选择了随机记录,数字字段字段就会增加到1,不能再被选择了。我正在考虑使用以下PHP代码:
$result = mysql_query("SELECT token FROM table WHERE numberfield < **1** ORDER BY RAND
如果我在表中有一个字段类型为VARCHAR(15)的列,如果我尝试插入长度为16的数据,MySQL会给出一个错误,说明
Data too long for column 'testname' at row 1
有人知道为什么MySQL中的VARCHAR字段采用固定长度吗?另外,根据给定的大小,VARCHAR字段每条记录占用多少字节?
在mysql (Ubuntu13.10,MySql 5.5)中,我试图创建一个表,该表将使用以下代码自动创建一个随机字母数字ID:
create table YGraph (
YGraphEdgeId CHAR(8) NOT NULL PRIMARY KEY DEFAULT SUBSTRING(MD5(RAND()) FROM 1 FOR 8),
YGraphStartVertex CHAR(6) NOT NULL,
YGraphEndVertex CHAR(6) NOT NULL
);
但是phpmyadmin在抱怨:
#1064 - You have an erro
嗨,这是我要查询的桌子:
mytable
id, name
1,name1
2,name2
3,' ' //this is a white space
4,null
但是,当我使用此查询将空列设置为null时:
update mytable set `name`= CASE `name` WHEN '' THEN NULL ELSE `name` END;
它甚至更新包含空间的列字段。结果是:
1,name1
2,name2
3,null
4,null
为什么mysql把空白也当作'‘空白?是否有任何选项将表中的空白替换为null,并让空白空间成为空白?
我将MySQL中具有GROUP_CONCAT字段的varchar(140)中的几个文本聚合到一个新表中。新字段自动变为字段类型TEXT,根据文档,该字段应包含65535个字符。尽管如此,新表中只显示了部分文本字符(下面的"full_text“列)。我检查过了,有更多的文本,因此字符,应该在新的表格列中。我没有更改MySQL服务器中的任何内容,如max_package_size,这都是默认设置。
下面是我的MySQL查询:
DROP TABLE IF EXISTS tempsumdate;
CREATE TABLE tempsumdate ENGINE=MyISAM CHARACTER
在我的MySQL表中,我有一个包含Markdown文本的TEXT字段。
示例:
# Hello world
This is my __note__
但是,当我从DB中用PHP获取数据时,它会删除空白。
示例:
# Hello world This is my __note__
问题:
我应该怎么做才能准确地获取我的文本在DB中的位置?
耽误您时间,实在对不起!
我正在建立一个由MySQL脚本驱动的PHP电影海报/粉丝艺术数据库。我创建了一个自动完成输入字段,用户可以在其中搜索电影标题。就像所有的自动完成字段一样,当用户开始键入电影标题时,就会显示出来。
现在,MySQL查询如下:
SELECT posters FROM pictures WHERE pictures LIKE '$text%'
上面的模式匹配以键入的字母开头的每个电影标题。由于数据库包含大约10.000个电影标题,因此当用户键入第一个字母时,自动补全功能会有延迟。为了加快自动完成功能中的搜索查询速度,我希望使用一个模式来匹配字符串中的至少两个(或更多)字母,而不仅仅