对于想了解mysql怎么增加int字段?的读者,本文将是一篇不可错过的文章,我们将详细介绍mysqlin增加到某个数量,并且为您提供关于linuxphp怎么增加mysqli扩展、mysqlint字段增
对于想了解mysql怎么增加int字段?的读者,本文将是一篇不可错过的文章,我们将详细介绍mysql in 增加到某个数量,并且为您提供关于linux php怎么增加mysqli扩展、mysql int字段增长超过11位、MySQL POINT字段的PHP数据类型、mysql 视图怎么增加自增字段的有价值信息。
本文目录一览:- mysql怎么增加int字段?(mysql in 增加到某个数量)
- linux php怎么增加mysqli扩展
- mysql int字段增长超过11位
- MySQL POINT字段的PHP数据类型
- mysql 视图怎么增加自增字段
mysql怎么增加int字段?(mysql in 增加到某个数量)
MysqL增加int字段的方法:使用ALTER TABLE语句,通过“ALTER TABLE 表名 ADD 新字段 int(长度);”或“ALTER TABLE 表名 ADD 新字段 int(长度) AFTER 已存在字段;”格式来增加。
一个完整的字段包括字段名、数据类型和约束条件。MysqL 添加字段的语法格式如下:
ALTER TABLE <表名> ADD <新字段名><数据类型>[约束条件];
对语法格式的说明如下:
<表名> 为数据表的名字;
<新字段名> 为所要添加的字段的名字;
<数据类型> 为所要添加的字段能存储数据的数据类型,可以为int,text;
[约束条件] 是可选的,用来对添加的字段进行约束。
这种语法格式默认在表的最后位置(最后一列的后面)添加新字段。
实例
在 test 数据库中新建 student 数据表,sql 语句和运行结果如下:
MysqL> USE test; Database changed MysqL> CREATE TABLE student ( -> id INT(4), -> name VARCHAR(20), -> sex CHAR(1)); Query OK, 0 rows affected (0.09 sec)
使用 DESC 查看 student 表结构,sql 语句和运行结果如下:
MysqL> DESC student; +-------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | id | int(4) | YES | | NULL | | | name | varchar(20) | YES | | NULL | | | sex | char(1) | YES | | NULL | | +-------+-------------+------+-----+---------+-------+ 3 rows in set (0.01 sec)
使用 ALTER TABLE 语句添加一个 INT 类型的字段 age,sql 语句和运行结果如下:
MysqL> ALTER TABLE student ADD age INT(4); Query OK, 0 rows affected (0.16 sec) Records: 0 Duplicates: 0 Warnings: 0
使用 DESC 查看 student 表结构,检验 age 字段是否添加成功。sql 语句和运行结果如下:
MysqL> DESC student; +-------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | id | int(4) | YES | | NULL | | | name | varchar(20) | YES | | NULL | | | sex | char(1) | YES | | NULL | | | age | int(4) | YES | | NULL | | +-------+-------------+------+-----+---------+-------+ 4 rows in set (0.00 sec)
由运行结果可以看到,student 表已经添加了 age 字段,且该字段在表的最后一个位置,添加字段成功。
有时需要在中间添加字段,那么如果在中间添加字段?
此时需要使用 AFTER 关键字,语法格式如下:
ALTER TABLE <表名> ADD <新字段名> <数据类型> [约束条件] AFTER <已经存在的字段名>;
AFTER 的作用是将新字段添加到某个已有字段后面。
注意,只能在某个已有字段的后面添加新字段,不能在它的前面添加新字段。
实例
使用 ALTER TABLE 语句在 student 表中添加名为 stuno,数据类型为 INT 的字段,stuno 字段位于 name 字段的后面。sql 语句和运行结果如下:
MysqL> ALTER TABLE student ADD stuno INT(11) AFTER name; Query OK, 0 rows affected (0.13 sec) Records: 0 Duplicates: 0 Warnings: 0 MysqL> DESC student; +-------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | stuId | int(4) | YES | | NULL | | | id | int(4) | YES | | NULL | | | name | varchar(20) | YES | | NULL | | | stuno | int(11) | YES | | NULL | | | sex | char(1) | YES | | NULL | | | age | int(4) | YES | | NULL | | +-------+-------------+------+-----+---------+-------+ 6 rows in set (0.00 sec)
由运行结果可以看到,student 表中已经添加了 stuId 字段,且该字段在 name 字段后面的位置,添加字段成功。
推荐教程:mysql视频教程
linux php怎么增加mysqli扩展
linux php增加mysqli扩展的方法:1、找到php安装包下的ext目录下的mysqli扩展;2、在mysqli目录下直接运行phpize;3、在php.ini的最后一行加上“mysqli.so”;4、重启apache即可。
本文操作环境:
linux php怎么增加mysqli扩展?
linux上给php安装mysqli扩展
立即学习“PHP免费学习笔记(深入)”;
在lamp环境下的php并没有扩展mysqli的扩展库,在php代码中使用phpinfo()函数就可以查看自己的php的详细信息了,比如有哪些扩展,php是什么版本之类的。
于是,我就开始给linux上的php安装mysqli扩展了。
(一)找到php安装包下的ext目录下的mysqli扩展:
如果记不到自己的php安装包在哪的话,可以尝试使用
find / -name mysqli
进行查找,如果找不到的话,可以到php官网上下载一个php安装包,然后解压了或者在linux直接使用yum install --downloadonly --downloaddir=保存的路径 下载包的名字。比如:
yum install --downloadonly --downloaddir=/root php
附上常用的解压缩命令:
zip格式:unzip 压缩文件名
gzip格式:gzip -d 压缩文件名
tar.gz格式:tar -zxvf 压缩文件名
tar.bz2格式:tar -jxvf 压缩文件名
rpm格式:rpm2cpio 压缩文件名 | cpio -p
结果应该如下:
(二)生成mysqli.so扩展文件
先使用find命令找到phpize的位置:
find / -name phpize
我的是在/usr/bin/phpize。
然后在mysqli目录下直接运行phpize
/usr/bin/phpize
(注意:不在mysqli目录下运行phpize的话会报Cannot find conf.m4这个错)
还有可能会有其它错,比如phpize Can''t find PHP headers in /usr/include/php这类型的,那是因为没有安装php-devel或者php-pear还有gcc等造成的,用yum安装一下即可。
接下来使用这些命令:
./configue -prefix=/usr/local/mysqli make && make install
如果正常的话,系统会返回一个路径,那个路径下就是我们想要的mysql.so扩展文件
(三)修改php.ini配置文件
找到你的php.ini配置文件,一般是在/usr/local/lib下,找不到的话find一下也可以。然后
vi php.ini
在php.ini的最后一行加上
extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/mysqli.so
mysqli.so前面那一串路径填写系统返回的那个路径。
最后重启apache
/bin/systemctl restart httpd.service
推荐学习:《PHP视频教程》
以上就是
mysql int字段增长超过11位
我有一个mysql数据库,我正在使用它作为临时存储验证码值.它有一个自动递增的id键,带有int(11)字段.如果此值大于11位,会发生什么?
签署:-2147483648至2147483647
无符号:0到4294967295
BIGINT使用8个字节,因此它可以存储数字:
签署:-9223372036854775808至9223372036854775808
无符号:0到18446744073709551615
MySQL POINT字段的PHP数据类型
我创建了一个MySQL表,其中一个字段的类型为POINT,用于存储lat,lon坐标(例如:36.6294654 -93.1725982).
我收到错误,提交表单,我认为这是由于数据类型不匹配造成的.
sqlSTATE[22003]: Numeric value out of range: 1416 Cannot get geometry object from data you send to the GEOMETRY field
我的理解是POINT应该有示例的格式(我也尝试过lat,lon).我认为问题是空间将变量转换为STRING.
我错过了什么吗,在这里?
这是我的PHP代码连接到数据库并插入记录.
// use google's geocoding service to transform an address into lat/lon coordinates (https://developers.google.com/maps/documentation/geocoding/)
$json = file_get_contents('https://maps.googleapis.com/maps/api/geocode/json?address=' . urlencode($street) . ',+' . urlencode($city) . ',+' . urlencode($state) . ',+' . urlencode($zip) . '&key=YOUR_API_KEY');
$json = json_decode($json, true);
$latlon = $json['results'][0]['geometry']['location']['lat'] . ' ' . $json['results'][0]['geometry']['location']['lng'];
try {
$dbh = new PDO('MysqL:host=someserver;port=someport;dbname=somedatabase', 'someusername', 'somepassword', array(PDO::ATTR_PERSISTENT => true));
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = 'INSERT INTO Venues (Name, Street, City, State, Zip, Country, TimeZone, LatLon, Phone, Email, Website, Host, Notes) VALUES (:name, :street, :city, :state, :zip, :country, :timezone, :latlon, :phone, :email, :website, :host, :notes)';
$stmt = $dbh->prepare($sql);
$stmt->execute(array(":name" => $name, ":street" => $street, ":city" => $city, ":state" => $state, ":zip" => $zip, ":country" => $country, ":timezone" => $timezone, ":latlon" => $latlon, ":phone" => $phone, ":email" => $email, ":website" => $website, ":host" => $host, ":notes" => $notes));
if ($stmt->rowCount() == 1) {
echo '<p>"' . $name . '" creation succeeded.</p>';
} else {
echo '<p>"' . $name . '" creation Failed.</p>';
}
$stmt->setFetchMode(PDO::FETCH_ASSOC);
$dbh = null;
}
catch(PDOException $e) {
echo $e->getMessage();
}
或者,我可以只有单独的lat和lon字段,但我想练习msyql的内置几何功能.
编辑…
按照this answer的建议,我用POINT()包围了$latlon.但是,它没有改变结果.
编辑2 …
这是表结构,以防万一看起来不正确.
VenueKey int(11)
Name varchar(255)
Street varchar(255)
City varchar(255)
State varchar(2)
Zip varchar(10)
Country varchar(2)
TimeZone varchar(20)
LatLon point
Phone varchar(20)
Email varchar(255)
Website varchar(255)
Host varchar(255)
Notes text
解决方法:
这应该可以解决您的问题:
$latlng = 'POINT(' . $json['results'][0]['geometry']['location']['lat']. " " . $json['results'][0]['geometry']['location']['lng']. ')';
然后使用PointFromText包装你的:latlon:
$sql = 'INSERT INTO Venues (Name, Street, City, State, Zip, Country, TimeZone, LatLon, Phone, Email, Website, Host, Notes) VALUES (:name, :street, :city, :state, :zip, :country, :timezone, PointFromText(:latlon), :phone, :email, :website, :host, :notes)';
mysql 视图怎么增加自增字段
mysql 从两张不含自增字段的表格生成一张含自增字段视图,应该怎么实现啊,各位大神。 简单来说,视图可以新增原表格没有的字段吗?
今天关于mysql怎么增加int字段?和mysql in 增加到某个数量的分享就到这里,希望大家有所收获,若想了解更多关于linux php怎么增加mysqli扩展、mysql int字段增长超过11位、MySQL POINT字段的PHP数据类型、mysql 视图怎么增加自增字段等相关知识,可以在本站进行查询。
本文标签: