我正在尝试编写一个MySQL插入查询,该查询将标识列中的最高值,然后为插入的记录增加一个值。我想,当我制作表时,我将这个字段设置为auto_increment,但由于某种原因,它无法工作。我目前的插入声明是:
INSERT INTO victoria (name, album, order_by) VALUES (:name, :album, :order)
order_by字段是一个需要增加一个的字段。
我希望将表A复制到表B中,而不声明MySQL中的所有字段。
但问题是我的表B在开头有一个自动增量字段,名为id。
table_A
name age etc
-------|--------|--------|
abc | 28 | ... |
table_B
id name age etc
-------|-------|--------|--------|
我试着做这样的事情:
INSERT INTO table_B SELECT auto, * FROM table_A
但没起作用。什么是最好的解决方案?
在我的数据库表中,在我的网站前端有两个名为salary_to和salary_from.Now的字段,用户可以在输入字段中输入工资,比如2000。现在我想在数据库中执行一个检查,看看是否有任何行有salaryto和Salary值'20000‘。我想要的算法看起来像这样
SELECT all ROW where salaryto is less than 20000 and salaryfrom is greater than 20000
我可以使用between运算符来执行这种过滤吗?或者我只能使用>,<运算符?假设我的项目使用mysql数据库。
在mysql字段创建中编写“NULL”有什么区别或好处.
例如,如果我要创建这样一张桌子.
CREATE TABLE IF NOT EXISTS game(
id INT(11) NOT NULL AUTO_INCREMENT,
name VARCHAR(128) NOT NULL,
description VARCHAR(200) NOT NULL,
PRIMARY KEY(id)
)
在这里,id和name总是有一个值,所以它们的NULL很好。我明白了。但是,描述是一个可选的字段,所以它可以是空白的。
那么,在这种情况下,我是否应该写“不零”?
我正在开发一个PDI转换,它从MySql数据库中获取数据,并将数据输出到MSSQL表中。但是在输出之前,我添加了一个删除步骤来删除dest中的记录。具有相同关键字段值的表。但我不知道为什么通过这种设置,转换总是失败,造成数据源连接超时的异常。 但是,在我在"table input“和"Delete”之间添加了一个"Block“步骤之后,这个问题就消失了,转换也成功完成了。 我的配置和异常消息如下: Transformation setting and system exception message Data Input SQL, and Delete conditi
我正在尝试索引mysql innodb-table中的一个文本字段,看起来散列索引是这样的:
CREATE INDEX teksti_index USING HASH ON maili_teksti(teksti(100));
那么,这是否意味着mysql获取字段的前100个字符并计算散列(然后对散列进行索引)。如果我把数字100改成200,索引的大小是一样的吗?
还有..。如果我想优化这种命令,这是一种正确的方法吗:
SELECT count(*) from teksti where teksti='random text';
我正在尝试将类似于150.1835024和32.8392648的内容插入到mySQL中作为float。问题是,当我尝试创建像mySQL这样的FLOAT 3,7字段时,它无法工作。正确的格式是什么?
这是我得到的错误:
An error occurred when trying to add the field 'location_lat' via
ALTER TABLE `data` ADD `location_lat` FLOAT(3,7)
NULL
DEFAULT NULL
AFTER `fees`
MySQL said: For float(M,D), dou
我有一个疑问:
SELECT DISTINCT(po.mark) franquicia, COUNT(po.id) failures, GROUP_CONCAT(po.log_transaction SEPARATOR ';') logs, DATE(po.created) fecha
FROM pagos_onlines AS po
INNER JOIN usuarios_tokens AS ut ON po.usuario_token = ut.id
WHERE status = 'REJECTED'
AND created > '2017-1
在Mysql group_concat中,它只返回一些值以限制,我希望列中的所有字段都满足条件,它的工作状态可以达到92,在此之后也会得到相同的结果。
查询是
SELECT group_concat(sn_mnums) as total FROM `sms_notice` WHERE date(sn_dt)=curdate() and sn_status=0
这里sn_mnums是昏迷分离场示例978688,878668,3434类似于计数(总计)有什么解决办法吗?
我有一个包含500多万条记录的大型数据库,这个数据库有三个字段(ID、名称、文本),字段ID有一个主键,字段name有一个FULLTEXT索引。
我想为我的网站创建一个在字段name中搜索的搜索引擎,我使用FULLTEXT索引,但缺点是不接受少于四个字符的关键字,所以我决定删除它,并在字段name上放置一个INDEX KEY,并使用以下请求:
EXPLAIN SELECT * FROM table WHERE locate ('search', name) > 0;
问题是这个应用程序没有使用索引键字段名,而是这个请求:
EXPLAIN SELECT name FROM
每隔几秒钟,MySQL就会打开一个文件,而不是关闭它,我们可以通过查询实时地看到它。
SHOW GLOBAL STATUS WHERE variable_name = 'Open_files';
查看打开的文件描述符
sudo ls -la /proc/<pid>/fd | less
显示这些打开的文件大多被删除临时表:
lrwx------ 1 mysql mysql 64 Apr 17 08:56 990 -> /tmp/mysql_temptable.xTHQV4 (deleted)
lrwx------ 1 mysql mysql 64 Apr 17
我得到了这个MySQL内部连接查询错误,虽然我已经非常努力地找出了这个错误,但我还是找不出错误在哪里。
SELECT db_trailer_id.*, db_trailer_locs.*
FROM db_trailer_id INNER JOIN db_trailer_locs
ON db_trailer_id.id = db_trailer_locs.trailer_id
WHERE db_trailer_id.vin = XXXXXX
检查了表和字段名,并对其进行了双重检查。
db_trailer_id
id
文
db_trailer_locs
id
trai
我有一个大约10000字符长的查询,如果出现以下错误,它将失败:
ERROR 2013 (HY000): Lost connection to MySQL server during query
只有当本地客户端( PHP或CLI)连接到远程数据库服务器时,才会发生这种情况。
如果我试图从另一个(windows) maxhine执行相同的查询,它将在同一数据库服务器上完美地工作。因此,服务器设置不是问题所在。
我尝试过将--max_allowed_packet=16M添加到mysql客户端启动,但仍然发生了错误。
进一步的测试表明,可以执行的最大查询长度限制在5000字符左右。
一些版本信息: