【问题标题】:Auto_increment option doesn't work on serverAuto_increment 选项在服务器上不起作用
【发布时间】:2011-12-15 04:32:02
【问题描述】:

需要你的帮助,奇怪。我在本地和服务器上有相同的表 - 服务器上的表不会增加?本地的...这是列的 SQL 语句。我只能在没有数据时注册/输入一行,然后它不会在下次提交时自动增加:

-- phpMyAdmin SQL Dump
-- version 3.3.9.2
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Oct 25, 2011 at 01:31 PM
-- Server version: 5.0.92
-- PHP Version: 5.2.6

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- Database: `name`
--

-- --------------------------------------------------------

--
-- Table structure for table `basic`
--

   CREATE TABLE IF NOT EXISTS `basic` (
  `user_id` int(11) NOT NULL auto_increment,
  `username` varchar(255) character set utf8 NOT NULL,
  `email` varchar(255) character set utf8 NOT NULL,
  `email_active` enum('1','0') character set utf8 NOT NULL default '0',
  `password` varchar(128) character set utf8 NOT NULL,
  PRIMARY KEY  (`user_id`),
  UNIQUE KEY `email` (`email`)
  ) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

--
-- Dumping data for table `basic`
--

INSERT INTO `basic` (`user_id`, `username`, `email`, `email_active`, `password`) VALUES
(2, 'mrd', 'ddddd.ddddd@gmail.com', '0', '05cb6e7ad0f2a84ee6b1cc097dbf2787');

为什么它在本地工作? (我在服务器和本地使用 PHP 我的管理员)

谢谢你...

【问题讨论】:

  • 您是否在您的服务器表中添加了 auto_increment 子句?
  • Aurelio 是的,我导入了 SQL 文件 - 它完全一样,并且选项自动增量在字段中......
  • 能否提供本地和服务器表的定义?
  • @str - 这不是 SQL 代码,只是说明我的意思....
  • 请发布SHOW CREATE TABLE your_tablename 的输出并发布您的实际SQL 语句。你有什么没有显示任何东西。

标签: php mysql phpmyadmin mysqli


【解决方案1】:

确保设置AUTO_INCREMENT 标志:

CREATE TABLE users
(
user_id int NOT NULL AUTO_INCREMENT,
username varchar(255) NOT NULL,
email varchar(255) UNIQUE,
email_active TINYINT(1),
password varchar(12),
PRIMARY KEY (user_id)
)

【讨论】:

  • 不-不起作用...它只允许我插入一行...当没有数据时。
  • MrX - 用户 ID 为 "" 的两行意味着用户 ID 相同的两行 - 由于主键,这是不可能的。您所遇到的是正确的。
猜你喜欢
  • 2012-09-03
  • 2021-01-01
  • 2017-02-25
  • 2015-11-24
  • 1970-01-01
  • 2017-05-17
  • 2015-02-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多